国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Go語言學習(4)-流程控制

2019-11-10 21:42:14
字體:
來源:轉載
供稿:網友
1、條件語句if a < 5 { return 0} else { return 1}

關于條件語句,需要注意以下幾點: 條件語句不需要使用括號將條件包含起來(); 無論語句體內有幾條語句,花括號{}都是必須存在的; 左花括號{必須與if或者else處于同一行; 在if之后,條件語句之前,可以添加變量初始化語句,使用;間隔; 在有返回值的函數中,不允許將“最終的”return語句包含在if…else…結構中, 否則會編譯失敗: function ends without a return statement。 失敗的原因在于,Go編譯器無法找到終止該函數的return語句。編譯失敗的案例如下:

func example(x int) int { if x == 0 { return 5 } else { return x }}

2、選擇語句

switch i { case 0: fmt.運行上面的案例,將會得到如下結果: i = 0時,輸出0; i = 1時,輸出1; i = 2時,輸出3; i = 3時,輸出3; i = 4時,輸出4, 5, 6; i = 5時,輸出4, 5, 6; i = 6時,輸出4, 5, 6; i = 其他任意值時,輸出Default。 比較有意思的是,switch后面的表達式甚至不是必需的,比如下面的例子:

switch { case 0 <= Num && Num <= 3: fmt.Printf("0-3") case 4 <= Num && Num <= 6: fmt.Printf("4-6") case 7 <= Num && Num <= 9: fmt.Printf("7-9")}

在使用switch結構時,我們需要注意以下幾點: 左花括號{必須與switch處于同一行; 條件表達式不限制為常量或者整數; 單個case中,可以出現多個結果選項; 與C語言等規則相反,Go語言不需要用break來明確退出一個case; 只有在case中明確添加fallthrough關鍵字,才會繼續執行緊跟的下一個case; 可以不設定switch之后的條件表達式,在此種情況下,整個switch結構與多個if…else…的邏輯作用等同。

3、循環語句

示例1:

sum := 0 for i := 0; i < 10; i++ { sum += i }

可以看到比較大的一個不同在于for后面的條件表達式不需要用圓括號()包含起來。Go語言還進一步考慮到無限循環的場景,讓開發者不用寫無聊的for (;;) {} 和 do {} while(1);而直接簡化為如下的寫法: 示例2:

sum := 0 for { sum++ if sum > 100 { break } }

在條件表達式中也支持多重賦值,如下所示:

a := []int{1, 2, 3, 4, 5, 6}for i, j := 0, len(a) –1; i < j; i, j = i + 1, j –1 { a[i], a[j] = a[j], a[i]}

Go語言的for循環同樣支持continue和break來控制循環,但是它提供了一個更高級的 break,可以選擇中斷哪一個循環,如下例:

for j := 0; j < 5; j++ { for i := 0; i < 10; i++ { if i > 5 { break JLoop } fmt.Println(i) }}JLoop:// ...

本例中,break語句終止的是JLoop標簽處的外層循環。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 义乌市| 沈阳市| 白水县| 新兴县| 苗栗市| 滦南县| 镇康县| 连城县| 浠水县| 叙永县| 萍乡市| 南康市| 云霄县| 南阳市| 松潘县| 米脂县| 罗平县| 花莲市| 类乌齐县| 琼中| 射洪县| 阿克苏市| 庆云县| 镇原县| 延寿县| 新巴尔虎左旗| 固始县| 昂仁县| 德令哈市| 阿合奇县| 女性| 库尔勒市| 独山县| 神农架林区| 罗源县| 合水县| 图片| 武功县| 衡山县| 永春县| 呼伦贝尔市|