程序中经常需要用循环获取数据或者做条件判断,而Go语言中,循环遍历只需一个for{}就可以搞定。
用法一:for 赋值表达式; 判断条件; 赋值同时控制变量增减 { }
for i:=0; i<10; i++ {
// 循环10次
}
用法二:for 条件 { }
i := 0
for i<10 {
// 只要条件满足就循环,尝尝在这里修改循环条件来控制循环
}
用法三:for {}
for {
// 死循环。需要配合if 判断,当达到条件 break 退出循环
}
用法四:For-each range 循环
这种循环可以对字符串、数组、切片、字典等进行迭代,获取元素。有不同应用形式:
- 只获取索引(字典就是键)
var a [3]int
for i := range a {
fmt.Printf("%d %d\n", i, a[i])
}
ages := map[string]int{
"alice": 31,
"charlie": 34,
}
for name := range ages {
fmt.Printf("%s\t%d\n", name, ages[name])
}
- 获取索引及对应元素(字典就是键和值)
var a [3]int
for i, v := range a {
fmt.Printf("%d %d\n", i, v)
}
ages := map[string]int{
"alice": 31,
"charlie": 34,
}
for name, age := range ages {
fmt.Printf("%s\t%d\n", name, age)
}
for _, age := range ages {
fmt.Printf("%d\n", age)
}
如果只想取值,不需要索引,可以用"_"下划线占位索引。
关于Go语言万能的for循环,你还知道哪些?评论区讨论分享给更多人吧!
【来思Go】,Let's Go!
专注分享技术干货,欢迎关注留言交流学习!