亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

為什么不能在 Go 中使用 add 運算符進行元組賦值?

為什么不能在 Go 中使用 add 運算符進行元組賦值?

Go
冉冉說 2023-05-22 16:54:57
根據Golang 語言語法規范:賦值=表達式列表?assign_op?表達式列表。assign_op?= [添加操作|?多運算]“=”。此外:元組分配將多值運算的各個元素分配給變量列表。但是,在嘗試編譯以下代碼時:package mainfunc addOne(a, b int) (int, int) {? ? return a+1, b+1}func main() {? ? var a, b int? ? a, b += addOne(a, b)}編譯器抱怨:syntax error: unexpected +=, expecting := or = or comma我知道臨時變量可以解決這個問題。例如aTemp, bTemp := addOne(a, b)a += aTempb += bTemp但是,這似乎是該語言所說的它支持的東西。這是編譯器中的錯誤嗎?我錯過了語言中的某些內容嗎?
查看完整描述

1 回答

?
猛跑小豬

TA貢獻1858條經驗 獲得超8個贊

+=是賦值操作,不是簡單的賦值。規范明確指出:

賦值運算x op= y 其中op是一個二元算術運算符等同于 x = x?op?(y) [...] 在賦值運算中,左右表達式列表都必須恰好包含一個單值表達。


查看完整回答
反對 回復 2023-05-22
  • 1 回答
  • 0 關注
  • 140 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號