日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

Go 分布式学习利器(4)-- 条件和循环

發布時間:2023/11/27 生活经验 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Go 分布式学习利器(4)-- 条件和循环 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

    • 1. 循環語句
    • 2. 條件語句
      • 2.1 if...else 條件
      • 2.2 switch 條件

1. 循環語句

Go語言和其他語言在循環語句上的主要差異是 Go語言僅支持for關鍵字。
語法形式:for i := 5; i > 0; i--,不像其他語言有兩個小括號左右圍著。

兩種不同的循環體語法如下:

  • 條件循環
    i := 5
    for i > 0 {...i--
    }
    
  • 無限循環
    i := 0
    for {...
    }
    

如下簡單測試代碼:

package loopimport "testing"func TestLoop(t *testing.T) {for i := 0; i < 5; i++{t.Log(i)}n := 5for n > 0{t.Log(n)n--}
}

2. 條件語句

2.1 if…else 條件

Go語言的 if...else條件語句和其他語言的條件語句使用方式類似,基本沒有什么區別,只是沒有小括號的語法。
核心差異主要如下:

  • condition 表達式結果必須為bool
  • 支持變量賦值
/* if 單分支語法 */
if condition {...
} else {...
}/* if 條件分支語法 */
if condition {...
} else if condition-2 {...
} else {...
}

支持變量賦值的語法 測試程序如下:

package conditionimport "testing"func TestCondition(t *testing.T) {// Go語言的函數支持多返回值,所以可以使用err捕獲函數異常,用來進行賦值判斷。if a,err := acFunc(); err == nil { t.Log("acFunc success!")}else {t.Log("acFunc failed!")}
}

2.2 switch 條件

基本用法和我們其他語言的用法一致

switch os := runtime.GOOS(); os {case "darwin":fmt.Println("OS.X")// break 不需要顯式break退出條件分支判斷case "linux":fmt.Println("Linux.")default:fmt.Printf("%S.",os)
}

和其他編程語言的主要差異如下:

  1. 條件表達式不限制為常量或者整數(可以是如上案例 字符串的形態)
  2. 單個case 中可以出現多個結果選項,使用逗號分隔
  3. 與C語言的規則相反,Go 語言不需要break明確退出一個case
  4. 可以不設定switch 之后的條件表達式,這種結構之下,整個switch與結構與if…else… 邏輯作用相同

比如單個case 可以出現多個結果選項,使用逗號分隔的測試代碼如下:

func TestMultiCase(t *testing.T) {for i:= 0; i < 5; i++{switch i {case 1,3:t.Log("Even")case 2,4:t.Log("Odd")default:t.Log("other numbers")}}
}

再比如 不設定switch之后的表達式,整個結構就類似if…else…

func TestNoSwitch(t *testing.T) {for i:= 0; i < 5; i++{switch { // switch 之后沒有分支變量case i % 2 == 0:t.Log("Odd")case i % 2 == 1:t.Log("Even")default:t.Log("nothing")}}
}

總結

以上是生活随笔為你收集整理的Go 分布式学习利器(4)-- 条件和循环的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。