系列文章
【golang学习之旅】报错:a declared but not used
【golang学习之旅】Go 的基本数据类型
目录
for循环
Go 只有一种循环结构:for 循环
基本的for循环
和C以及Java语言一样,基本的 for 循环由三部分组成,它们用分号隔开:
- 初始化语句:在第一次迭代前执行
- 条件表达式:在每次迭代前求值
- 后置语句 :在每次迭代的结尾执行
初始化语句通常为一句短变量声明,该变量声明仅在 for 语句的作用域中可见。
一旦条件表达式求值为 false,循环迭代就会终止。
注意:和 C、Java、JavaScript 之类的语言不同,Go 的 for 语句后面的三个构成部分外没有小括号, 大括号 { }则是必须的。
for 变 while
for的初始化语句和后置语句是可选的,都去掉之后就变成了while,这块和其他语言一样。但是Go语言中没有while这个关键字
死循环
如果连循环条件也没有,那就是死循环了,一直出不来,你需要用 ctrl + c 或者 kill 来结束掉进程
for-range
Go 语言提供了一种经典for循环以外的集合数据迭代方式:Range 范围迭代,使用关键字
range
表示,其等同于其他程序设计语言中的forEach迭代。范围迭代range可应用于多种 Go 内置数据结构:字符串、数组、切片、哈希表、通道。
示例:
go
for k,v:=range map {
fmt.Println("map's key:",k)
fmt.Println("map's val:",v)
}
由于 Go 支持 "多值返回", 而对于"声明而未被调用"的变量, 编译器会报错, 在这种情况下, 可以使用_来丢弃不需要的返回值
例如
go
for _, v := range map{
fmt.Println("map's val:", v)
}