當(dāng)調(diào)用具有多個(gè)返回值的函數(shù)或方法時(shí),調(diào)用者如果解包任何返回值,則必須將它們?nèi)拷獍?。f, err := os.Open("filename")變量err必須用空白標(biāo)識符聲明或忽略_,但不能省略。但是,語言中內(nèi)置了一些操作,允許省略可選的第二個(gè)返回值。是否有或多或少正式的情況列表,其中具有數(shù)據(jù)結(jié)構(gòu)的操作或函數(shù)調(diào)用返回第二個(gè)值,該值是可選的并且可以通過僅接收第一個(gè)返回值來忽略?例如:m := make(map[string]int)
v, ok := m["hello"]該ok變量完全是可選的,可以省略。v := m["hello"]同樣,對于頻道:v, ok := <-ch或者v := <-ch除了上述兩種情況之外,還有其他這種行為的情況嗎?
1 回答

楊魅力
TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超6個(gè)贊
在賦值或初始化中使用時(shí)具有可選值的表達(dá)式是:?type assertion、map index和channel receive。
規(guī)范沒有這些表達(dá)式的正式列表,但規(guī)范中都描述了這些表達(dá)式。
- 1 回答
- 0 關(guān)注
- 148 瀏覽
添加回答
舉報(bào)
0/150
提交
取消