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

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

Go語言學(xué)習(xí)(4)-流程控制

2019-11-10 20:28:48
字體:
供稿:網(wǎng)友
1、條件語句if a < 5 { return 0} else { return 1}

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

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

2、選擇語句

switch i { case 0: fmt.運行上面的案例,將會得到如下結(jié)果: 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后面的表達(dá)式甚至不是必需的,比如下面的例子:

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結(jié)構(gòu)時,我們需要注意以下幾點: 左花括號{必須與switch處于同一行; 條件表達(dá)式不限制為常量或者整數(shù); 單個case中,可以出現(xiàn)多個結(jié)果選項; 與C語言等規(guī)則相反,Go語言不需要用break來明確退出一個case; 只有在case中明確添加fallthrough關(guān)鍵字,才會繼續(xù)執(zhí)行緊跟的下一個case; 可以不設(shè)定switch之后的條件表達(dá)式,在此種情況下,整個switch結(jié)構(gòu)與多個if…else…的邏輯作用等同。

3、循環(huán)語句

示例1:

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

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

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

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

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循環(huán)同樣支持continue和break來控制循環(huán),但是它提供了一個更高級的 break,可以選擇中斷哪一個循環(huán),如下例:

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

本例中,break語句終止的是JLoop標(biāo)簽處的外層循環(huán)。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 攀枝花市| 集安市| 内江市| 牡丹江市| 广河县| 怀化市| 石台县| 蒲江县| 和静县| 吉木萨尔县| 博爱县| 泗水县| 随州市| 菏泽市| 东台市| 达拉特旗| 海林市| 唐海县| 阿瓦提县| 镇赉县| 高雄市| 文成县| 靖江市| 古田县| 吉隆县| 临漳县| 随州市| 云霄县| 禹州市| 泉州市| 麻城市| 财经| 达拉特旗| 丰台区| 米脂县| 兴业县| 游戏| 浦北县| 永顺县| 云梦县| 高要市|