在流程控制中,程式執行的流程控制表示決定程式是如何執行的,是我們必須掌握的,主要有三大流程控制語句
順序控制:向前引用
分支控制:讓程式有選擇的執行,分為:
單分支 if 表示式 {}
雙分支 if 表示式 {} else {};只會執行其中的一部分;
多分支
巢狀分支(不要巢狀太多,最多不超過3層)
switch分支:每乙個case分支都是唯一的,從上到下逐一測試,知道匹配為止;匹配項後面不需要加break;
golang 中的case後的表示式可以有多個,且用逗號隔開;
細節注意:
1)case後是乙個表示式(即:常量值,變數,乙個有返回值函式,還可以運算);
2)switch 後數值型別和 case 後的數值型別必須保持一致;
3)case後的表示式可以是多個,且用逗號隔開,只要有乙個滿足就會執行,都不滿足進行下乙個case;
4)case後如果是常量(字面量)則不可以重複;
5)default 不是必須的,都不滿足就是不做任何操作;
6)switch 後也可以不帶表示式,用法類似 if -- else 分支使用;
7)switch穿透 fallthrough,預設只能穿透一層
8)type switch
swith 和 if 的比較
1.如果判斷的具體數值不多,而且符合整數,浮點數,字元,字串,這幾種型別,建議使用swith語句,簡潔高效;
2.其他情況,對區間判斷和結果為bool型別的判斷,使用if,if使用的範圍更廣;
for迴圈控制:
就是讓我們的**迴圈的執行;
基本語法:
for 迴圈變數初始化; 迴圈條件; 迴圈變數迭代
語法格式說明:
有四個要素:
執行順序:迴圈變數初始化-->迴圈條件判斷-->如果迴圈條件為真就執行迴圈操作--->迴圈變數迭代-->反覆執行2,3,4直到迴圈條件為假退出for迴圈;
注意事項:
1.迴圈條件是返回乙個布林值的表示式;
2.for迴圈的第二種使用方式:
for 迴圈判斷條件
3.for-range 用來遍歷字串和陣列;
如果字串中有中文,傳統遍歷會出現亂碼,因為傳統遍歷按照位元組遍歷,而乙個漢字在utf8編碼是對應3個位元組(解決方案:直接轉為切片型別進行遍歷即可);
而for-range 是按字元遍歷的所以遇到中文不會出現亂碼
go語言中沒有while和do...while 語法;
兩者的區別:while: 先判斷後執行; do...while: 先執行後判斷;
break : 就是跳出for迴圈
go流程控制
用於測試條件是否成立,成立則執行if括起來的 if condition 複製 如果需要在條件不滿足時執行,則只需要加上else即可 if condition else 複製 如果存在多個條件,可以使用else if增加新的判斷 if condition1 else if condition2 els...
go流程控制
1 if語句 1 if ture else 2if a 44 a 23else 2 switchswitch 語句用於基於不同條件執行不同動作,每乙個 case 分支都是唯一的,從上直下逐一測試,直到匹配為止。golang switch 分支表示式可以是任意型別,不限於常量。可省略 break,預設...
go流程控制
go語言僅有兩種流程控制語法,不存在while if age 18else if age 7else 標準迴圈 標準迴圈,結束後變數不存在 for i 0 i 10 i 迴圈外定義,結束迴圈後,變數仍存在 var i 0for i 10 i 將累加數值置於迴圈體中 for i 10 閉迴圈 forr...