A Tour of Go: Basics 2
For
For语句有三个基本部分组成,以分号隔开:
初始语句:只在第一次循环开始前执行,通常就是变量定义和初始化,这里定义的变量作用范围只在For循环本身。条件表达式:每一次循环开始前执行,当false结束循环。post语句:每一次循环结束后执行。技巧:
初始语句和post语句是可以省略的。条件表达式也可以省略,就是死循环。Go语言只有一个循环结构,就是for语句。while语句在Go中也是由for表示。// forsum := 1for ; sum < 1000; { sum += sum}// whilesum := 1for sum < 1000 { sum += sum}
注意点:
与其他语言不同,三个语句不需要用括号括起来。循环体需要用大括号括起来。If跟for一样,if语句可以包含一个初始语句,作用范围限于if本身(包括else)。同样地,if语句也不需要小括号,但是需要大括号。
SwitchSwitch是if else语句在某些场景下的更好选择。匹配到等于condition的case并执行,然后停止switch,不需要显式break。
同样可以有初始语句。
条件可以为空,表示switch true。
推迟到周围函数都执行完以后再执行。
被推迟的函数是放在stack里的,因此遵循后进先出原则。
应用场景比如用于清理动作等,参见:https://blog.golang.org/defer-panic-and-recover
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。