返回

Golang旅程 - 基礎篇(三)

流程控制

if

if true{
    // 如果符合條件式就會執行這個區塊
}else{
    // 反之如果沒有符合條件是的話就不會執行這個區塊
}

goto (非常邪惡的東西,就跳過吧)

沒什麼用過,也不是很清楚,但建議少用為妙。

for

在Go的世界裡沒有所謂的while和do while,所以所有的迴圈都要靠for來實現

for的三大用途:

  • 遍歷array、slice和map
  • 迭代操作
  • 無限迴圈
for key, value := range map {
    fmt.Println("map's key is ", k)
    fmt.Println("map's value is ", v)
}

// 如果你今天忽略某個回傳的話可以用_代替
for _, v := range map {
    //忽略key
    //do something
}

//取得有序的ary
for index := 0; index < len(ary); index++{
    fmt.Println(ary[index])
}

// 無窮迴圈
for true{
    // do something
}

switch

控制邏輯有多重判斷時,我們有兩種選擇:

  • if:不建議使用,很容易發生多重if的問題。
  • switch:推薦使用,code看起來比較清爽。

switch在使用上有一些限制:

  • case的資料類型必須一致
  • 表達式不必是常量或整數
  • case裡面不能有重複條件
switch 判斷參數 {
case :
    some instructions
case expr2:
    some other instructions
case expr3:
    some other instructions
default:
    other code
}

comments powered by Disqus