日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)GO教程:Go語言if else(分支結(jié)構(gòu))

在Go語言中,關(guān)鍵字 if 是用于測試某個條件(布爾型或邏輯型)的語句,如果該條件成立,則會執(zhí)行 if 后由大括號
{}括起來的代碼塊,否則就忽略該代碼塊繼續(xù)執(zhí)行后續(xù)的代碼。

if condition {
    // do something
}

如果存在第二個分支,則可以在上面代碼的基礎(chǔ)上添加 else 關(guān)鍵字以及另一代碼塊,這個代碼塊中的代碼只有在條件不滿足時才會執(zhí)行,if 和 else 后的兩個代碼塊是相互獨(dú)立的分支,只能執(zhí)行其中一個。

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

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

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

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

關(guān)鍵字 if 和 else 之后的左大括號
{必須和關(guān)鍵字在同一行,如果你使用了 else if 結(jié)構(gòu),則前段代碼塊的右大括號
}必須和 else if 關(guān)鍵字在同一行,這兩條規(guī)則都是被編譯器強(qiáng)制規(guī)定的。

非法的 Go 代碼:

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

要注意的是,在使用 gofmt 格式化代碼之后,每個分支內(nèi)的代碼都會縮進(jìn) 4 個或 8 個空格,或者是 1 個 tab,并且右大括號
}與對應(yīng)的 if 關(guān)鍵字垂直對齊。

在有些情況下,條件語句兩側(cè)的括號是可以被省略的,當(dāng)條件比較復(fù)雜時,則可以使用括號讓代碼更易讀,在使用 &&、|| 或 ! 時可以使用括號來提升某個表達(dá)式的運(yùn)算優(yōu)先級,并提高代碼的可讀性。

舉例

通過下面的例子來了解 if 的寫法:

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

代碼輸出如下:

>10

代碼說明如下:

  • 第 1 行,聲明整型變量并賦值 11。
  • 第 2 行,判斷當(dāng) ten 的值大于 10 時執(zhí)行第 3 行,否則執(zhí)行第 4 行。
  • 第 3 和第 5 行,分別打印大于 10 和小于等于 10 時的輸出。

特殊寫法

if 還有一種特殊的寫法,可以在 if 表達(dá)式之前添加一個執(zhí)行語句,再根據(jù)變量值進(jìn)行判斷,代碼如下:

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

Connect 是一個帶有返回值的函數(shù),err:=Connect() 是一個語句,執(zhí)行 Connect 后,將錯誤保存到 err 變量中。

err != nil 才是 if 的判斷表達(dá)式,當(dāng) err 不為空時,打印錯誤并返回。

這種寫法可以將返回值與判斷放在一行進(jìn)行處理,而且返回值的作用范圍被限制在 if、else 語句組合中。

提示

在編程中,變量的作用范圍越小,所造成的問題可能性越小,每一個變量代表一個狀態(tài),有狀態(tài)的地方,狀態(tài)就會被修改,函數(shù)的局部變量只會影響一個函數(shù)的執(zhí)行,但全局變量可能會影響所有代碼的執(zhí)行狀態(tài),因此限制變量的作用范圍對代碼的穩(wěn)定性有很大的幫助。


本文標(biāo)題:創(chuàng)新互聯(lián)GO教程:Go語言if else(分支結(jié)構(gòu))
地址分享:http://www.dlmjj.cn/article/djoedgs.html