第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Go 無法推斷賦值中的類型:“:= 左側(cè)的非名稱”

Go 無法推斷賦值中的類型:“:= 左側(cè)的非名稱”

Go
翻閱古今 2021-07-16 22:15:53
此代碼段按預(yù)期工作play.golang.org/p/VuCl-OKMavi := 10next := 11prev, i := i, next然而,這個幾乎相同的片段給出了non-name f.Bar on left side of := play.golang.org/p/J8NNWPugQGtype Foo struct {    Bar int}f := Foo{10}next := 11prev, f.Bar := f.Bar, next停止類型推斷的結(jié)構(gòu)有什么特別之處?這是一個錯誤嗎?
查看完整描述

3 回答

?
慕標琳琳

TA貢獻1830條經(jīng)驗 獲得超9個贊

這是一個開放的問題。

問題 6842:規(guī)范:使用短聲明符號分配給字段


查看完整回答
反對 回復(fù) 2021-07-19
?
波斯汪

TA貢獻1811條經(jīng)驗 獲得超4個贊

這不是真正的類型推斷問題,只是左側(cè):=必須是標識符列表,而f.Bar不是標識符,因此不能聲明——即使:=是稍微寬松的規(guī)則也不行它可以聲明什么。請參閱Go 編程語言規(guī)范“短變量聲明”


查看完整回答
反對 回復(fù) 2021-07-19
?
森欄

TA貢獻1810條經(jīng)驗 獲得超5個贊

從規(guī)范的短變量聲明部分:


與常規(guī)變量聲明不同,短變量聲明可以重新聲明變量,前提是它們最初在同一塊中較早地聲明......具有相同的類型,并且至少有一個非空變量是新的。


因此,如果您在另一種類型(示例中的 struct Foo)中聲明變量,則“假設(shè)它們最初是在同一塊中較早地聲明的”將取消其資格。


所以答案是只將預(yù)先聲明的變量設(shè)置為等于不使用 := 語法的值:


...

var prev int

prev, f.Bar = f.Bar, next

...


查看完整回答
反對 回復(fù) 2021-07-19
  • 3 回答
  • 0 關(guān)注
  • 388 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號