C語言中文網 目錄
首頁 > Go語言教程 > 流程控制 閱讀:4,391

Go語言if else(分支結構)

< 上一頁流程控制 Go語言循環結構下一頁 >

Go 語言中,可以通過 if 關鍵字進行條件判斷,格式如下:
if 表達式1 {
    分支1
} else if 表達式2 {
    分支2
} else{
    分支3
}
當表達式 1 的結果為 true 時,執行分支 1,否則判斷表達式 2,如果滿足則執行分支 2,都不滿足時,則執行分支 3。表達式 2、分支 2 和分支 3 都是可選的,可以根據實際需要進行選擇。

Go 語言規定與 if 匹配的左括號{必須與 if 和表達式放在同一行,如果嘗試將{放在其他位置,將會觸發編譯錯誤。

同理,與 else 匹配的{也必須與 else 在同一行,else 也必須與上一個 if 或 else 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語言循環結構下一頁 >

精美而實用的網站,提供C語言C++STLLinuxShellJavaGo語言等教程,以及socketGCCviSwing設計模式JSP等專題。

Copyright ?2011-2018 biancheng.net, 陜ICP備15000209號

底部Logo