Go语言用for实现所有循环,支持初始化、条件判断和迭代操作,如for i := 0; i < 10; i++ {}。
Go语言中没有传统的while或do-while循环,所有循环逻辑都通过
关键字实现。Golang的
语句非常灵活,可以模拟各种循环结构,并配合
、
和
进行流程控制。
基本for循环
最常见的形式包含初始化、条件判断和迭代操作:
这相当于其他语言中的for循环,会输出0到4。
类while循环
省略初始化和递增部分,只保留条件表达式,就变成了while风格的循环:
立即学习
“
go语言免费学习笔记(深入)
”;
只要条件为真就会持续执行,适合不确定迭代次数的场景。
无限循环与break
不写任何条件的for语句会形成无限循环,通常配合
使用来退出:
go语言参考手册 中文CHM版
Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。本文给大家带来Go参考手册,需要的可以来下载! Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发,后来还加入了Ian Lance Taylor, Russ Cox等人,并最终于2009年11月开源,在2012年早些时候发布了Go 1稳定版本。现在Go的开发已经是完全开放的,并且拥有一个活跃的社区。 Go 语言特色 简洁、快速、安全 并行、有趣、开源 内存管理、v数组安全、编译
下载
break
用于立即终止当前循环,常用于满足特定条件时提前退出。
continue跳过本次循环
continue
会让循环跳过当前迭代的剩余代码,直接进入下一轮:
在过滤数据或排除特殊情况时非常有用。
循环标签与goto(谨慎使用)
当有嵌套循环时,可以用标签配合
或
控制外层循环:
上面例子会在i和j都等于1时完全退出外层循环。虽然支持
,但在循环控制中应尽量避免使用,容易降低
代码可读性
。
基本上就这些。Golang用统一的
结构简化了循环语法,结合几个控制关键字就能应对大多数场景,既简洁又强大。
forforbreakcontinuegoto
for i := 0; i < 5; i++ {
fmt.Println(i)
}
n := 1
for n < 100 {
n *= 2
}
fmt.Println(n) // 输出128
break
for {
input := getInput()
if input == "quit" {
break
}
process(input)
}
for i := 0; i < 10; i++ {
if i%2 == 0 {
continue
}
fmt.Println(i) // 只打印奇数
}
breakcontinue
outer:
for i := 0; i < 3; i++ {
for j := 0; j < 3; j++ {
if i == 1 && j == 1 {
break outer
}
fmt.Printf("i=%d, j=%d\n", i, j)
}
}
gotofor