Go 语言程序设计——过程式编程(2)

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 循环
  • 标签是一个后面带一个冒号的标识符
  • 标签可以作用于 forswitchselect 语句
  • 标签可以作用于 goto 语句的目标

推荐阅读更多精彩内容

  • 1. 简介 1.1 什么是 MyBatis ? MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的...
    笨鸟慢飞阅读 2,807评论 0 4
  • ORA-00001: 违反唯一约束条件 (.) 错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常。 O...
    我想起个好名字阅读 2,640评论 0 8
  • 1.安装 https://studygolang.com/dl 2.使用vscode编辑器安装go插件 3.go语...
    go含羞草阅读 724评论 0 6
  • Lua 5.1 参考手册 by Roberto Ierusalimschy, Luiz Henrique de F...
    苏黎九歌阅读 9,816评论 0 39
  • 蜻蜓站在荷花上并不是迷恋花的芳香 其实是在翘首仰望,或者在等待 碧波荡漾处,风的颤动 是你的气息 痴痴守着这一方池...
    泰安左眼皮跳跳阅读 187评论 1 8