婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > 關(guān)于golang中平行賦值淺析

關(guān)于golang中平行賦值淺析

熱門(mén)標(biāo)簽:學(xué)海導(dǎo)航地圖標(biāo)注 江西轉(zhuǎn)化率高的羿智云外呼系統(tǒng) 浙江高速公路地圖標(biāo)注 中國(guó)地圖標(biāo)注省會(huì)高清 地圖標(biāo)注的汽車(chē)標(biāo) 南通如皋申請(qǐng)開(kāi)通400電話 西部云谷一期地圖標(biāo)注 高德地圖標(biāo)注口訣 廣州呼叫中心外呼系統(tǒng)

對(duì)于golang, 交換兩個(gè)數(shù)很簡(jiǎn)單,如下這么寫(xiě)就可以了:

i, j = j, i

等號(hào)左邊和右邊含有多個(gè)表達(dá)式,這就是平行賦值。 賦值分為兩個(gè)步驟:

  • 計(jì)算等號(hào)左邊的操作數(shù)的索引表達(dá)式和取址表達(dá)式,計(jì)算等號(hào)右邊的表達(dá)式。
  • 賦值

我們來(lái)看下面一段代碼會(huì)輸出什么?

func main() {
 i := 1
 s := []string{"A", "B", "C"}
 i, s[i-1] = 2, "Z"
 fmt.Printf("s: %v \n", s)
}

這里輸出的 s: [Z,B,C] 而不是s: [A,Z,C]。 這是因?yàn)榈忍?hào)左邊的切片的索引表達(dá)式i-1會(huì)被先計(jì)算,最后才是賦值。 計(jì)算和賦值的順序,都是從左往右。 我們?cè)賮?lái)看下面的代碼會(huì)輸出什么?

func main() {
 a := []int{1, 2, 3, 4}
 defer func(a []int) {
  fmt.Printf("a: %v\n", a)
 }(a)
 a[0], a[4] = a[1], a[2]
}

輸出的是:

a: [2 2 3 4]
panic: runtime error: index out of range

goroutine 1 [running]:

在賦值的過(guò)程中,即使后面的引發(fā)了panic,前面的也會(huì)被賦值成功。 再看這個(gè)會(huì)輸出什么?

func main() {
 a := []int{1, 2, 3, 4}
 defer func(a []int) {
  fmt.Printf("a: %v\n", a)
 }(a)
 a[0], a[1] = a[2], a[4]
}

輸出的是:

a: [1 2 3 4]
panic: runtime error: index out of range

goroutine 1 [running]:
main.main()

再次理解一下,賦值的第一步,計(jì)算等號(hào)左邊的索引表達(dá)式,取址表達(dá)式 和 計(jì)算等號(hào)右邊的表達(dá)式。

理解參照了《Go并發(fā)編程一書(shū)》

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

您可能感興趣的文章:
  • Go語(yǔ)言中的變量聲明和賦值
  • Go語(yǔ)言實(shí)現(xiàn)字符串切片賦值的方法小結(jié)
  • go和python變量賦值遇到的一個(gè)問(wèn)題

標(biāo)簽:吐魯番 許昌 曲靖 德宏 保定 常州 貴州 東營(yíng)

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《關(guān)于golang中平行賦值淺析》,本文關(guān)鍵詞  關(guān)于,golang,中,平行,賦值,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《關(guān)于golang中平行賦值淺析》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于關(guān)于golang中平行賦值淺析的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 丹阳市| 山东省| 深水埗区| 新晃| 宁南县| 乌拉特中旗| 获嘉县| 浑源县| 临安市| 阳西县| 荃湾区| 曲麻莱县| 吉林市| 庄浪县| 台中市| 黄石市| 常德市| 扶绥县| 平昌县| 邵阳市| 茂名市| 连平县| 湘潭县| 武清区| 宁夏| 江安县| 英吉沙县| 潮安县| 福鼎市| 清水县| 清水河县| 綦江县| 紫云| 嘉义市| 平顺县| 永和县| 乌兰县| 玉田县| 汉阴县| 二连浩特市| 玛多县|