Golang语言中for循环语句用法实例
介绍Golang中for循环的核心语法,包括标准计数循环、range遍历字符串与集合、省略条件的精简写法以及无限循环的实现,通过代码实例解析其在数据处理中的具体应用。
For循环基础语法
Golang中只有一种循环结构,即 for 循环,但它非常灵活,可以组合成不同类型的循环。其标准形式包含三个由分号分隔的组件:前置语句(通常用于初始化)、条件表达式和后置语句(通常用于递增)。
第1步:标准计数循环
目的:执行固定次数的循环,如累加或遍历索引。
示例:计算0到9的和。
package main
import "fmt"
func main() {
sum := 0
for i := 0; i < 10; i++ {
sum += i
}
fmt.Println(sum)
}
第2步:省略部分组件
目的:简化代码,仅保留必要的条件判断或状态更新。
操作:在 for 后面只保留条件表达式,前置和后置语句可省略或留空。
package main
import "fmt"
func main() {
sum := 1
// 省略前置和后置语句,仅保留条件
for ; sum < 1000; {
sum += sum
}
fmt.Println(sum)
}
第3步:省略分号形成精简循环
目的:使代码更简洁,类似于其他语言的 while 循环。
说明:如果省略了循环条件中的所有部分,只需保留关键字 for 和条件本身。
package main
import "fmt"
func main() {
sum := 1
// 省略分号
for sum < 1000 {
sum += sum
}
fmt.Println(sum)
}
遍历字符串:Byte与Rune的区别
使用 for 循环遍历时,有两种主要方式处理字符串。由于Go语言字符串底层是字节切片,直接按字节索引可能会截断多字节字符(如中文),而 range 则能正确处理Unicode字符。
第4步:按字节(Byte)遍历
风险提醒:直接按索引访问字符串会产生字节级结果,对于非ASCII字符(如汉字)可能会输出乱码或单个字节值,而非完整字符。
示例:遍历字符串 "abc汉字"。
package main
import "fmt"
func main() {
s := "abc汉字"
// 按字节索引
for i := 0; i < len(s); i++ {
fmt.Printf("%c,", s[i])
}
fmt.Println()
}
第5步:按字符(Rune)遍历
目的:正确遍历和输出包含多字节字符(如中文、Emoji)的字符串。
入口:使用 range 关键字。
package main
import "fmt"
func main() {
s := "abc汉字"
// 按字符(range)遍历
for _, r := range s {
fmt.Printf("%c,", r)
}
}
无限循环(死循环)
在Golang中,如果需要创建一个永不自动退出的循环,可以使用以下两种等价的形式。
第6步:实现无限循环
操作:省略所有参数或使用空的布尔表达式。
// 形式一:省略所有部分
package main
func main() {
for {
// 永远执行
}
}
// 形式二:显式写出空的分号
package main
func main() {
for ;; {
// 永远执行
}
}
注意:
无限循环必须包含退出条件(如 break 语句)或通过外部信号终止,否则程序将卡死在循环中。
以上就是Golang for循环语句用法的详细内容,更多关于Go语言编程技巧的资料请关注本站其它相关文章!
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













