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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何使用函數(shù)作為地圖的鍵

如何使用函數(shù)作為地圖的鍵

Go
慕妹3146593 2021-09-09 15:13:43
如何使用函數(shù)作為地圖的鍵?例如:type Action func(int)func test(a int) { }func test2(a int) { }func main() {  x := map[Action]bool{}  x[test] = true  x[test2] = false}這些代碼會(huì)顯示錯(cuò)誤: invalid map key type Action
查看完整描述

3 回答

?
HUX布斯

TA貢獻(xiàn)1876條經(jīng)驗(yàn) 獲得超6個(gè)贊

您不能將函數(shù)用作映射鍵。該語言規(guī)范明確表示:

必須為鍵類型的操作數(shù)完全定義比較運(yùn)算符 == 和 !=;因此鍵類型不能是函數(shù)、映射或切片。


查看完整回答
反對(duì) 回復(fù) 2021-09-09
?
肥皂起泡泡

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超6個(gè)贊

您不能將函數(shù)用作映射中的鍵:鍵類型必須具有可比性。

映射鍵可以是任何可比較的類型。語言規(guī)范對(duì)此進(jìn)行了精確定義,但簡而言之,可比較的類型是布爾值、數(shù)字、字符串、指針、通道和接口類型,以及僅包含這些類型的結(jié)構(gòu)或數(shù)組。值得注意的是,列表中沒有切片、映射和函數(shù);這些類型不能使用 == 進(jìn)行比較,并且不能用作映射鍵

根據(jù)您的具體用例,您可能使用的是接口。


查看完整回答
反對(duì) 回復(fù) 2021-09-09
?
慕神8447489

TA貢獻(xiàn)1780條經(jīng)驗(yàn) 獲得超1個(gè)贊

您可以使用reflect.


    import (

       "reflect"

       "math"

    )



    func foo () {

       table := make(map[uintptr] string)

       table[reflect.ValueOf(math.Sin)] = "Sin"

       table[reflect.ValueOf(math.Cos)] = "Cos"

       println(table[reflect.ValueOf(math.Cos)])

    }


查看完整回答
反對(duì) 回復(fù) 2021-09-09
  • 3 回答
  • 0 關(guān)注
  • 241 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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