《go語言編程》學習筆記三

來源:互聯網
上載者:User
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。

流程式控制制

在go語言中,流程式控制制主要分為:選擇、迴圈、跳轉。
選擇:就是由不同的條件進行不同的操作
迴圈;就是重複的執行
跳轉:根據條件回到某個操作
在go語言中的流程式控制制語句有:
條件陳述式,對應的關鍵字為if、 else和else if;
選擇語句,對應的關鍵字為switch、 case和select(將在介紹channel的時候細說);
迴圈語句,對應的關鍵字為for和range;
跳躍陳述式,對應的關鍵字為goto。
同樣的,在go語言中也有break、continue和fallthrough等關鍵字

條件陳述式:

if a < 5 {return 0} else {return 1}

條件陳述式不需要使用括弧將條件包含起來();
無論語句體內有幾條語句,花括弧{}都是必須存在的;
左花括弧{必須與if或者else處於同一行;
在if之後,條件陳述式之前,可以添加變數初始化語句,使用;間隔;
有傳回值的函數中,不允許將“最終的” return語句包含在if…else…結構中,否則會編譯失敗:

選擇語句

switch i {case 0:fmt.Printf("0")case 1:fmt.Printf("1")case 2:fallthroughcase 3:fmt.Printf("3")case 4, 5, 6:fmt.Printf("4, 5, 6")default:fmt.Printf("Default")}

左花括弧{必須與switch處於同一行;
條件運算式不限制為常量或者整數;
單個case中,可以出現多個結果選項;
Go語言不需要用break來明確退出一個case;
只有在case中明確添加fallthrough關鍵字,才會繼續執行緊跟的下一個case;
可以 不設定switch之 後的條 件運算式, 在此種情況 下,整個switch結構與 多個if…else…的邏輯作用等同。

迴圈語句

sum := 0for i := 0; i < 10; i++ {sum += i}

Go語言中的迴圈語句只支援for關鍵字,而不支援while和do-while
左花括弧{必須與for處於同一行。
Go語言不支援以逗號為間隔的多個指派陳述式,必須使用平行賦值的方式來初始化多個變數。
提供了一個更進階的break,可以選擇中斷哪一個迴圈

for j := 0; j < 5; j++ {for i := 0; i < 10; i++ {if i > 5 {break JLoop}fmt.Println(i)}}JLoop:// ...

跳躍陳述式

func myfunc() {i := 0HERE:fmt.Println(i)i++if i < 10 {goto HERE}}
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.