go流程控制代碼詳解

這篇文章主要介紹了go流程控制,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑑價值 ,需要的朋友可以參考下

if

•Go裏面if條件判斷語句中不需要括號,條件判斷語句裏面允許聲明一個變量,任何在這裏聲明的變量都可以在所有的條件分支中使用。

if x := 11; x > 10 {
 fmt.Println("x is greater than 10")
} else {
 fmt.Println("x is less than 10")
}

goto

•用goto跳轉到必須在當前函數內定義的標籤,標籤名是大小寫敏感的。

func myFunc() {
 i := 0
 Here:  //這行的第一個詞,以冒號結束作爲標籤
 println(i)
 i++
 goto Here  //跳轉到Here去
}

for

•for是go中的唯一的循環結構,在go裏面有以下幾種使用形式

//經典的初始化/條件/後續形式的for循環
for expression1; expression2; expression3 {}

//帶單個循環條件,即忽略expression1和expression3:
sum := 1
for ; sum < 1000; {
 sum += sum
}
//其中;也可以省略,那麼就變成如下的代碼了,這就是while的功能。
for sum < 1000 {}

//不帶條件的for循環將一直執行,直到在循環體內使用了break或者return來跳出循環  
for {
 fmt.Println("loop")
 break
}

break和continue

•當嵌套過深的時候,break可以配合標籤使用,即跳轉至標籤所指定的位置,break和continue還可以跟着標號,用來跳到多重循環中的外層循環

for配合range可以用於讀取slice,map和數組的數據

•range 在數組和 slice 中都同樣提供每個項的索引和值。我們不需要索引的時候使用空值定義符_ 來忽略它,因爲對於“聲明而未被調用”的變量, 編譯器會報錯。有時候我們需要這個索引。

•range在map中迭代鍵值對

switch

//經典的初始化/條件/後續形式的for循環
for expression1; expression2; expression3 {}

//帶單個循環條件,即忽略expression1和expression3:
sum := 1
for ; sum < 1000; {
 sum += sum
}

//其中;也可以省略,那麼就變成如下的代碼了,這就是while的功能。
for sum < 1000 {}

//不帶條件的for循環將一直執行,直到在循環體內使用了break或者return來跳出循環  
for {
 fmt.Println("loop")
 break
}

總結

以上所述是小編給大家介紹的go流程控制代碼詳解,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回覆大家的!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章