您好,登錄后才能下訂單哦!
使用golang怎么實現(xiàn)流程控制,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
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跳轉(zhuǎn)到必須在當前函數(shù)內(nèi)定義的標簽,標簽名是大小寫敏感的。
func myFunc() { i := 0 Here: //這行的第一個詞,以冒號結(jié)束作為標簽 println(i) i++ goto Here //跳轉(zhuǎn)到Here去 }
for
?for是go中的唯一的循環(huán)結(jié)構(gòu),在go里面有以下幾種使用形式
//經(jīng)典的初始化/條件/后續(xù)形式的for循環(huán) for expression1; expression2; expression3 {} //帶單個循環(huán)條件,即忽略expression1和expression3: sum := 1 for ; sum < 1000; { sum += sum } //其中;也可以省略,那么就變成如下的代碼了,這就是while的功能。 for sum < 1000 {} //不帶條件的for循環(huán)將一直執(zhí)行,直到在循環(huán)體內(nèi)使用了break或者return來跳出循環(huán) for { fmt.Println("loop") break }
break和continue
?當嵌套過深的時候,break可以配合標簽使用,即跳轉(zhuǎn)至標簽所指定的位置,break和continue還可以跟著標號,用來跳到多重循環(huán)中的外層循環(huán)
for配合range可以用于讀取slice,map和數(shù)組的數(shù)據(jù)
?range 在數(shù)組和 slice 中都同樣提供每個項的索引和值。我們不需要索引的時候使用空值定義符_ 來忽略它,因為對于“聲明而未被調(diào)用”的變量, 編譯器會報錯。有時候我們需要這個索引。
?range在map中迭代鍵值對
switch
//經(jīng)典的初始化/條件/后續(xù)形式的for循環(huán) for expression1; expression2; expression3 {} //帶單個循環(huán)條件,即忽略expression1和expression3: sum := 1 for ; sum < 1000; { sum += sum } //其中;也可以省略,那么就變成如下的代碼了,這就是while的功能。 for sum < 1000 {} //不帶條件的for循環(huán)將一直執(zhí)行,直到在循環(huán)體內(nèi)使用了break或者return來跳出循環(huán) for { fmt.Println("loop") break }
關(guān)于使用golang怎么實現(xiàn)流程控制問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。