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

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

你能有一張沒有g(shù)o價值的地圖嗎?

你能有一張沒有g(shù)o價值的地圖嗎?

Go
守著一只汪 2023-07-17 14:19:09
我問是因?yàn)槲蚁矚g地圖不允許多個鍵。我知道您可以執(zhí)行如下操作,其中您的值是布爾值或空結(jié)構(gòu),但是有沒有辦法繞過為您的鍵指定任何值?必須指定空結(jié)構(gòu)有什么好處嗎?相關(guān)問題,但重點(diǎn)關(guān)注僅附加唯一值。type N struct {}func tengoQueCagar() {? ? var map_almost_empty_value1 = map[int]bool{0:true,1:false}? ? var map_almost_empty_value2 = map[int]struct{}{0:struct{}{},1:struct{}{}} //long and seems like lame syntax...? ? var map_almost_empty_value3 = map[int]N{0:N{},1:N{}} //shorter.. better?? ? var map_not_possible_empty_value_2 = map[int]nil{0:nil,1:nil} // better than empty struct syntax... but not possible? ? var map_not_possible_empty_value_2 = map[int]{0,1} // ideally possible... but not...?? ? //do something...}
查看完整描述

2 回答

?
ibeautiful

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

struct{}需要0字節(jié)來存儲。如果您聲明一個帶有值的映射struct{},則您只會存儲映射鍵。

如果您想像集合一樣使用映射,那么為其聲明一個單獨(dú)的類型可能會有所幫助:

type?IntSet?map[int]struct{}

并且您可以向其中添加一些方便的方法,例如:

func?(i?IntSet)?Has(v?int)?bool?{
??_,?ok?:=?i[v]??return?ok
}


查看完整回答
反對 回復(fù) 2023-07-17
?
慕后森

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超5個贊

要直接回答您的問題:請參閱下文!

這種“空struct{}作為映射值技巧”經(jīng)常出現(xiàn),支持的論點(diǎn)總是采用“因此值不需要存儲空間”的形式。

另一件自然要做的事情是使用map[int]bool.

如果內(nèi)存確實(shí)是您的應(yīng)用程序的限制(例如,因?yàn)槟谟成渲写鎯α藬?shù)百萬或數(shù)十億個鍵),那么可以:使用struct{}。對于所有其他正常情況:使用struct{}會使此類映射文字變得尷尬并且鍵查找更加復(fù)雜,因?yàn)槟?em>必須使用逗號 ok 變體(if _,ok := m[k]; ok {.

對于 bool 值,您可以做一個簡單的操作m[k],這樣可以減少輸入并且更容易理解。

我個人認(rèn)為使用struct{}as 地圖值是一種不必要的、不成熟的、過于聰明的優(yōu)化。如果您確實(shí)需要保存這幾個字節(jié),因?yàn)槟挠成鋵瑪?shù)百萬個條目,那么映射可能不是正確的數(shù)據(jù)結(jié)構(gòu):根據(jù)用例位向量、稀疏數(shù)據(jù)結(jié)構(gòu)甚至概率數(shù)據(jù)結(jié)構(gòu)(bloom-、cuckoo) -filters)、union-find 等可能更適合。

答案:不可以。在地圖文字中,您必須指定每個鍵。(一般經(jīng)驗(yàn)法則:Go 中沒有語法糖;Go 中沒有聰明的捷徑;Go 中的一切都是明確的。)


查看完整回答
反對 回復(fù) 2023-07-17
  • 2 回答
  • 0 關(guān)注
  • 143 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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