在go語言中,關鍵字if用於測試某個條件(布林型 或邏輯型)是否成立,如果該條件成立,則會執行if後由大括號「{}」括起來的程式碼塊,否則就忽略該程式碼塊繼續執行後續的程式碼,語法「if condition {...}」。if語句用於選擇單分支,如果存在第二個分支,而需要配合else關鍵字使用;如果存在更多分支,則還需要配合「else 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怎麼用的詳細內容,更多請關注TW511.COM其它相關文章!