Copyright © 2022-2024 aizws.net · 网站版本: v1.2.6·内部版本: v1.23.3·
页面加载耗时 0.00 毫秒·物理内存 63.5MB ·虚拟内存 1299.8MB
欢迎来到 AI 中文社区(简称 AI 中文社),这里是学习交流 AI 人工智能技术的中文社区。 为了更好的体验,本站推荐使用 Chrome 浏览器。
for 循环是一个循环控制结构,可以执行指定次数的循环。
Go 语言的 for 循环有 3 种形式,只有其中的一种使用分号。
for init; condition; post { }
for condition { }
for { }
语法中 init、condition、post 分别代表:
计算 1 到 10 的数字之和:
package main import "fmt" func main() { sum := 0 for i := 0; i <= 10; i++ { sum += i } fmt.Println(sum) }
输出结果为:
55
init 和 post 参数是可选的,我们可以直接省略它,类似 while 语句。
以下范例在 sum 小于 10 的时候计算 sum 自相加后的值:
package main import "fmt" func main() { sum := 1 for ; sum <= 10; { sum += sum } fmt.Println(sum) // 这样写也可以,更像 While 语句形式 for sum <= 10{ sum += sum } fmt.Println(sum) }
或者
package main import "fmt" func main() { sum := 1 for sum <= 10 { sum += sum } fmt.Println(sum) // 这样写也可以,更像 While 语句形式 for sum <= 10{ sum += sum } fmt.Println(sum) }
输出结果为:
16 16
以下为无限循环的范例:
package main import "fmt" func main() { sum := 0 for { sum++ // 无限循环下去 } fmt.Println(sum) // 无法输出 }
要停止无限循环,可以在命令窗口按下 Ctrl-C 。
for 循环的 range 格式可以对 slice、map、数组、字符串等进行迭代,语法格式如下:
for key, value := range iteratorObject { ...... }
其中,key 是键,value 是值,iteratorObject 是迭代对象。
for...range 循环的范例:
package main import "fmt" func main() { strings := []string{"google", "aizws"} for i, s := range strings { fmt.Println(i, s) } numbers := [6]int{1, 2, 3, 5} for i,x:= range numbers { fmt.Printf("第 %d 位 x 的值 = %d\n", i,x) } }
以上范例运行输出结果为:
0 google 1 aizws 第 0 位 x 的值 = 1 第 1 位 x 的值 = 2 第 2 位 x 的值 = 3 第 3 位 x 的值 = 5 第 4 位 x 的值 = 0 第 5 位 x 的值 = 0
Go语言 循环嵌套:循环嵌套就是循环中包含循环,也就是多重循环。Go语言允许用户在循环内使用循环。接下来我们将为大家介绍嵌套循环的使用。