91在线一级黄片|91视频在线观看18|成人夜间呦呦网站|91资源欧美日韩超碰|久久最新免费精品视频一区二区三区|国产探花视频在线观看|黄片真人免费三级片毛片|国产人无码视频在线|精品成人影视无码三区|久久视频爱久久免费精品

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

新聞中心

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

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

if condition {
    // do something
}

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

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

如果存在第三個(gè)分支,則可以使用下面這種三個(gè)獨(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 之后的左大括號(hào)
{必須和關(guān)鍵字在同一行,如果你使用了 else if 結(jié)構(gòu),則前段代碼塊的右大括號(hào)
}必須和 else if 關(guān)鍵字在同一行,這兩條規(guī)則都是被編譯器強(qiáng)制規(guī)定的。

非法的 Go 代碼:

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

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

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

舉例

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

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

代碼輸出如下:

>10

代碼說明如下:

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

特殊寫法

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

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

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

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

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

提示

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


網(wǎng)頁題目:創(chuàng)新互聯(lián)GO教程:Go語言if else(分支結(jié)構(gòu))
網(wǎng)頁網(wǎng)址:http://m.jiaoqi3.com/article/djoedgs.html