是不是觉得今天的知识更新的量好大,完全顶不住了,对于小熊来说,这就是团结了力量啊!感谢西邮白白的投稿。
今天 go 语言的内容是循环。
由于在不少实际问题中有许多具有规律性的重复操作,因此在程序中就需要重复执行某些语句。
go
语言的循环和其他的没什么不同,只是语法上略微有些差别。
定义一个数组
for 循环方式 1 和 c++、java 相似
nums := []int{1, 2, 3, 4, 5, 6} for i := 0; i < len(nums); i++ { fmt.Println(i) }
for 循环方式 2 省略赋值和++
a, b := 1, 5 for a < b { fmt.Println(a) a++ }
for 循环方式 3 迭代
- 优点:不用引入无意义的变量
- 缺点:不是直接索引,如果数据量极大会有性能损耗
for index, value := range nums { fmt.Printf("key: %v , value: %v \n", index, value) }
当然,你可以把方式 3 中 index
去掉,用_
忽略掉key
for _, v := range nums { fmt.Printf("value: %v \n", v) }
如果你想忽略掉 value
,直接用 key
也是可以的,这样就消除了迭代方式的缺点!
for i := range nums { fmt.Printf("value: %v \n", nums[i]) }
死循环
这样就是一个最简单的死循环,循环条件永远为true
也是死循环
for { }
break、continue
i := 0
for { fmt.Printf("死循环测试 %v \n", i) i++ if i > 5 { fmt.Println("满足终止条件,退出") break //直接跳出循环 } if i == 3 { continue //会直接跳过执行后面的语句 } fmt.Printf("死循环测试,第%v次跑到循环结尾\n", i) }
输出
死循环测试 0 死循环测试,第1次跑到循环结尾 死循环测试 1 死循环测试,第2次跑到循环结尾 死循环测试 2 死循环测试 3 死循环测试,第4次跑到循环结尾 死循环测试 4 死循环测试,第5次跑到循环结尾 死循环测试 5 满足终止条件,退出