跳到主要内容

go-循环

  • Go 里只有一种循环关键字:for。没有 while、也没有 do-while,所有循环形态都靠 for 表达

for 代替 while​

  • 语法: for 条件 {}
go
i := 0

for i < 5 {
fmt.Println(i)
i++
}

无限循环​

  • 当条件省略时,就是无限循环
  • 通过break来跳出
go
i := 0

for {
if i >= 5 {
break
}

fmt.Println(i)
i++
}

for range 遍历数据​

  • range日常很常用,用来遍历各种集合类型的数据
    • 遍历切片、数组、字符串、map、channel 时,更常用 range,写法更简洁
  • range用于搭配for循环来遍历数据
  • range 每次遍历会提供“索引/key + value”
go
for index, value := range data {
fmt.Println(index, value)
}

break 与 continue​

关键字含义
break立刻跳出当前循环
continue跳过本次剩余代码,进入下一次循环

goto​

  • goto 可以跳转到同一函数内的某个标签位置
  • goto在实际开发中很少用,可读性比较差,不推荐使用
  • 语法:goto 标签名
    • 在代码某处,定义标签,即:标签名:
go
package main

import "fm

func main() {
fmt.Println("开始")

goto End

fmt.Println("这里不会执行")

End:
fmt.Println("结束")
}