Go 語言基礎系列(三):流程控制
什麼是流程控制?
百度百科的定義:控制流程(也稱爲流程控制)是__計算機運__算領域的用語,意指在__程序運行時,個別的指令(或是陳述、子程序)運行或求值的順序
上面的定義有一點抽象,結合我們前兩篇學習過的變量和常量,可以簡單的理解爲:變量和常量是數據的載體,承載了不同類型的數據,這些數據通過不同的運算符進行相應的運算,那麼對計算的流程實現某種程度上的控制,便是本篇文章的主題——流程控制
在大概瞭解了流程控制的概念和作用後,對新概念 流程控制 的學習,會思考:
1. 該語言支持哪些流程控制類型?
_2. 不同流程控制對應的控制語句?
_
思維邏輯圖如下:
流程控制可以大致分爲條件判斷、循環控制和跳轉控制三種類型,下面對相應的類型及控制語句逐一介紹
** 條件判斷 **
01
** if 判斷語句 **
a. 格式:
Go 語言中,通過 if 關鍵字構成的條件判斷語句實現條件判斷
標準格式:
上面標準格式中,當表達式 1 爲 true 時,則執行分支 1;反之,則對錶達式 2 進行判斷,當表達式 2 爲 true 時,則執行分支 2,反之則執行分支 3
注:在 Golang 中,對編碼的格式有嚴格要求。在標準格式中,表達式 1 和表達式 2 後的左括號必須與表達式同行,否則程序將無法編譯
b. 示例
執行結果:
02
** switch 判斷語句 **
switch 判斷語句在某種程度上與 if 判斷語句是相通的,可以相互間進行轉化
a. 格式:
Go 語言中,以關鍵字 switch 開始,至上而下執行,直到找到匹配項
標準格式
注: 1)switch 語句至上而下執行,直到找到匹配項,當無匹配項時,則執行 default 後的代碼塊
2)switch 語句執行過程中,若找到匹配項,則自動跳出匹配過程
3)如若要求 switch 語句匹配後繼續向下執行,則可在每個 case 後的代碼的後面加 fallthrough
b. 示例
1)無 fallthrough
執行結果:
解釋:switch 語句在從上到下的執行過程中,當 8/3 = 2 時,執行 case 2 後的代碼塊,執行完自動跳出
2)有 fallthrough
** 循環控制 **
**for 循環控制語句 **
Golang 語言中,僅有一種循環控制語句:for 循環,不存在 while 循環控制語句
a. 格式:
解釋:循環體會在條件表達式爲 true 的情況下一直執行,直到條件表達式爲 false 時跳出循環
b. 示例:
執行結果:
c. break 語句:
break 語句可以用來跳出當前 for 循環,也可以在語句中添加標籤,退出標籤對應的代碼塊邏輯
1)break 跳出當前循環
執行結果:
2)break 通過標籤跳出
執行結果:
d. continue 語句:
不同於 break 語句,continue 不是跳出循環,而是跳過當前循環執行下一次循環語句;而且,continue 也可以接標籤,跳到對應標籤繼續執行循環
1)continue 不帶標籤
執行結果:
解釋:當 a==3 的時候,continue 關鍵字跳過當前循環,繼續執行之後的循環
2)continue 帶標籤
解釋:當執行到 continue 語句時,均跳出到對應標籤,並繼續執行下一次循環
** 跳轉控制 **
**goto 跳轉控制語句 **
goto 語句用於代碼間的無條件跳轉(不建議使用)
格式:goto 標籤
示例:
執行結果:
到此關於 Golang 流程控制的分享就結束了~
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源:https://mp.weixin.qq.com/s/3E1h7ohwr1J_zOadHYLGhQ