for 循环语句
- Go 语言使用两种类型的
for
语句来进行循环,一种是 for
语句,一种是 for...range
语句
- for 语法:
for { //无限循环
block
}
for booleanExpression { // while循环
block
}
for optionalPreStatement; booleanExpress; optionalPostStatement{
block
}
for index, char := range aString{ //一个字符一个字符地迭代一个字符串
block
}
for index := range aString{ // 一个字符一个字符地迭代一个字符串
block // char, size := utf8.DecodeRuneInString(aString[index:])
}
for index, item := range anArrayOrSlice { // 数组或者切片迭代
block
}
for index := range anArrayOrSlice { // 数组或者切片迭代
block // item := anArrayOrSlice[index]
}
for key, value := range aMap{ // 映射迭代
block
}
for key := range aMap { // 映射迭代
block // value := aMap[key]
}
for item := range aChannel { // 通道迭代
block
}
- for 循环中的大括号是必须的
- 分号在可选的前置或者后置声明语句都存在的时候才需要
- 在无格式的
for
循环中,布尔表达式的值必须是 bool
类型的,因为 Go 语言不会自动的转换非 bool
类型
-
for...range
循环迭代一个字符串的语法给出来字节偏移量的索引
- 对于非空切片和索引而言,第二个迭代数组或者切片的
for...range
循环语法获取索引从 0 到 len(slice) - 1
的项
- 迭代映射的键 - 值对或键的
for...range
循环以任意顺序的形式得到映射中的项或者键
- 如果以上语法作用于一个空字符串、数组、切片或映射,那么
for
循环就什么也不做,控制流程将从下一条语句继续
-
for
循环可以随时使用一个 break
语句来终止,这样控制权将传送给 for
循环语句的下一条语句
- 通过使用一个
continue
语句来使得程序的控制权回到 for
循环
- 标签是一个后面带一个冒号的标识符
- 标签可以作用于
for
、switch
、select
语句
- 标签可以作用于
goto
语句的目标
网友评论