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