1. 程式人生 > >A Tour of Go: Basics 2

A Tour of Go: Basics 2

原則 panic https 動作 語言 表達 包括 for cas

For

For語句有三個基本部分組成,以分號隔開:

  • 初始語句:只在第一次循環開始前執行,通常就是變量定義和初始化,這裏定義的變量作用範圍只在For循環本身。
  • 條件表達式:每一次循環開始前執行,當false結束循環。
  • post語句:每一次循環結束後執行。

技巧:

  • 初始語句和post語句是可以省略的。
  • 條件表達式也可以省略,就是死循環。
  • Go語言只有一個循環結構,就是for語句。while語句在Go中也是由for表示。
// for
sum := 1
for ; sum < 1000; {
    sum += sum
}

// while
sum := 1
for sum < 1000 {
    sum += sum
}

註意點:

  • 與其他語言不同,三個語句不需要用括號括起來。
  • 循環體需要用大括號括起來。

If

跟for一樣,if語句可以包含一個初始語句,作用範圍限於if本身(包括else)。同樣地,if語句也不需要小括號,但是需要大括號。

Switch

Switch是if else語句在某些場景下的更好選擇。匹配到等於condition的case並執行,然後停止switch,不需要顯式break。
同樣可以有初始語句。
條件可以為空,表示switch true。

Defer

推遲到周圍函數都執行完以後再執行。
被推遲的函數是放在stack裏的,因此遵循後進先出原則。
應用場景比如用於清理動作等,參見:https://blog.golang.org/defer-panic-and-recover

A Tour of Go: Basics 2