A Tour of Go: Basics 2

來源:互聯網
上載者:User

標籤:als   ack   https   結構   def   case   應用   匹配   and   

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語句也不需要小括弧,但是需要大括弧。

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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.