首頁 >後端開發 >Golang >go語言中if怎麼用

go語言中if怎麼用

青灯夜游
青灯夜游原創
2023-01-30 18:49:125297瀏覽

在go語言中,關鍵字if用來測試某個條件(布林型或邏輯型)是否成立,如果該條件成立,則會執行if後由大括號「{}」括起來的程式碼區塊,否則就忽略該程式碼區塊繼續執行後續的程式碼,語法「if condition {...}」。 if語句用於選擇單分支,如果存在第二個分支,而需要配合else關鍵字使用;如果存在更多分支,則還需要配合“else if”關鍵字使用。

go語言中if怎麼用

本教學操作環境:windows7系統、GO 1.18版本、Dell G3電腦。

Go語言if else(分支結構)

#在Go 語言中,關鍵字if 是用來測試某個條件(布林型或邏輯型)的語句,如果該條件成立,則會執行if 後由大括號{} 括起來的程式碼區塊,否則就忽略該程式碼區塊繼續執行後續的代碼。

if condition {
    // do something
}

如果存在第二個分支,則可以在上面程式碼的基礎上添加else 關鍵字以及另一個程式碼區塊,這個程式碼區塊中的程式碼只有在條件不滿足時才會執行,if 和else 後的兩個程式碼區塊是相互獨立的分支,只能執行其中一個。

if condition {
    // do something
} else {
    // do something
}

if else 語句是if 語句的升級版,它不僅可以指定當表達式成立時要執行的程式碼,還可以指定當表達式不成立時要執行的程式碼

如果存在第三個分支,則可以使用下面這種三個獨立分支的形式:

if condition1 {
    // do something
} else if condition2 {
    // do something else
}else {
    // catch-all or default
}

else if 關鍵字 用於在if 語句條件不滿足的情況下,繼續執行else if 裡面的邏輯判斷,如果滿足條件則執行else if 大括號裡面的邏輯。

else if 語句只能寫在 if 語句的大括號的後面,而 else if 語句可以寫任意多個。

else if 分支的數量是沒有限制的,但是為了程式碼的可讀性,還是不要在if 後面加入太多的else if 結構,如果必須使用這種形式,則盡可能把先滿足的條件放在前面。

關鍵字if 和else 之後的左大括號{必須和關鍵字在同一行,如果你使用了else if 結構,則前段程式碼區塊的右大括號}必須和else if 關鍵字在同一行,這兩條規則都是被編譯器強制規定的。

非法的Go 程式碼:

if x{
}
else { // 无效的
}

要注意的是,在使用gofmt 格式化程式碼之後,每個分支內的程式碼都會縮排4 個或8個空格,或1 個tab,且右大括號}與對應的if 關鍵字垂直對齊。

在某些情況下,條件語句兩側的括號是可以被省略的,當條件比較複雜時,則可以使用括號讓程式碼更易讀,在使用&&、|| 或! 時可以使用括號來提升某個表達式的運算優先級,並提高程式碼的可讀性。

範例

透過下面的範例來了解if 的寫法:

var ten int = 11
if ten > 10 {
    fmt.Println(">10")
} else {
    fmt.Println("<=10")
}

程式碼輸出如下:

>10

程式碼說明如下:

  • 第1 行,宣告整數變數並賦值11。

  • 第 2 行,判斷當 ten 的值大於 10 時執行第 3 行,否則執行第 4 行。

  • 第 3 和第 5 行,分別列印大於 10 和小於等於 10 時的輸出。

特殊寫法

if 還有一個特殊的寫法,可以在if 表達式之前加入執行語句,再根據變數值來判斷,程式碼如下:

if err := Connect(); err != nil {
    fmt.Println(err)
    return
}

Connect 是一個帶有回傳值的函數,err:=Connect() 是一個語句,執行Connect 後,將錯誤儲存到err 變數中。

err != nil 是 if 的判斷表達式,當 err 不為空時,印出錯誤並回傳。

這種寫法可以將回傳值與判斷放在一行處理,而且傳回值的作用範圍被限制在 if、else 語句組合中。

提示

在程式設計中,變數的作用範圍越小,所造成的問題可能性越小,每一個變數代表一個狀態,有狀態的地方,狀態就會被修改,函數的局部變數只會影響一個函數的執行,但全域變數可能會影響所有程式碼的執行狀態,因此限制變數的作用範圍對程式碼的穩定性有很大的幫助。

【相關推薦:Go影片教學程式設計教學

以上是go語言中if怎麼用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn