www說(shuō)
2022-11-28 14:48:10
我可以在 golang 中創(chuàng)建具有任何鍵類(lèi)型和任何值類(lèi)型的映射嗎?, 就像是 :dict1 := map[interface]interface{}非常感謝 !
1 回答
冉冉說(shuō)
TA貢獻(xiàn)1877條經(jīng)驗(yàn) 獲得超1個(gè)贊
從鍵類(lèi)型的語(yǔ)言規(guī)范:
必須為鍵類(lèi)型的操作數(shù)完全定義比較運(yùn)算符 == 和 ! = ;
所以大多數(shù)類(lèi)型都可以用作鍵類(lèi)型,但是:
切片、映射和函數(shù)值不可比較
因此不能用作映射鍵。
值類(lèi)型可以是任何或 (any或interface{}) 類(lèi)型。
type mytype struct{}
type ss []string
_ = make(map[interface{}]interface{}) // this works...
_ = make(map[any]any) // ... semantically the same
_ = make(map[mytype]any) // even a struct
_ = make(map[ss]any) // FAILS: invalid map key type ss
https://go.dev/play/p/OX_utGp8nfH
- 1 回答
- 0 關(guān)注
- 159 瀏覽
添加回答
舉報(bào)
0/150
提交
取消
