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

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

GoLang 空結構構造

GoLang 空結構構造

Go
繁星coding 2022-10-10 16:48:50
有人可以解釋為什么m := map[string]struct{}{"hello": {}}是有效的代碼,但是這個c := make(chan struct{}, 1) c <- {}不是?似乎我可以{}在第一個語句中構建結構,但我需要struct{}{}為第二個語句做。
查看完整描述

1 回答

?
牛魔王的故事

TA貢獻1830條經驗 獲得超3個贊

這不是蘋果對蘋果。如果你嘗試這個,你會得到同樣的錯誤:


package main


func main() {

   m := make(map[string]struct{})

   m["hello"] = {} // syntax error: unexpected {, expecting expression

}

至于你更大的問題,我相信這里已經回答了[1]:


在數組、切片或映射類型的復合文字中T,本身是復合文字的元素或映射鍵可以省略相應的文字類型,如果它與 的元素或鍵類型相同T。


例如,如果您有一個復合文字:


map[string]struct{}

其中元素也是復合文字:


struct{}

然后你可以省略類型:


{}

https://golang.org/ref/spec#Composite_literals


查看完整回答
反對 回復 2022-10-10
  • 1 回答
  • 0 關注
  • 110 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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