在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語言中if怎麼用的詳細內容。更多資訊請關注PHP中文網其他相關文章!