如果我有一個(gè)類(lèi)型map[interface{}]interface{}并且我有另一個(gè)具有 map[string]interface{} 的地圖,如何比較 interface{} 值。如果我有一個(gè) m := make(map[string]interface{})并且我執(zhí)行,我將如何評(píng)估哈希值,m[m["key"]]即我正在為一個(gè)以字符串為鍵的映射傳遞一個(gè) interface{} 值。反之亦然,即: m1 := make(map[interface{}]interface{})我執(zhí)行m1[m["key"]]
1 回答

肥皂起泡泡
TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超6個(gè)贊
Go 接口是一個(gè) 2 字的值,因此可以進(jìn)行比較。從比較運(yùn)算符的語(yǔ)言規(guī)范部分:
接口值具有可比性。如果兩個(gè)接口值具有相同的動(dòng)態(tài)類(lèi)型和相同的動(dòng)態(tài)值,或者兩者都具有值 nil,則它們是相等的。
當(dāng)類(lèi)型 X 的值可比較且 X 實(shí)現(xiàn) T 時(shí),非接口類(lèi)型 X 的值 x 和接口類(lèi)型 T 的值 t 是可比較的。如果 t 的動(dòng)態(tài)類(lèi)型與 X 相同且 t 的動(dòng)態(tài)值等于 x,則它們相等.
在 的情況下只有第一點(diǎn)是相關(guān)的map[interface{}]T
,因?yàn)殒I總是被轉(zhuǎn)換為interface{}
用于比較的。
- 1 回答
- 0 關(guān)注
- 233 瀏覽
添加回答
舉報(bào)
0/150
提交
取消