一看就懂系列之Golang的Map如何做到最省空間?

前言

今天在看源碼的時候,發現一個東西,“空間”和“時間”一直是對立的,那麼在“空間換時間”的時候,通常使用的是map中的key來快速判斷,很多時候其value是用不到的。

那麼問題來了,既然很多時候value用不到,那麼怎麼寫纔是最節省空間的?

正文

說實話,我沒有直接想到這個問題的答案。
在這裏插入圖片描述
不過我查到了。

struct{} 的巧妙使用

當聲明爲map[int]struct{},由於struct{}是空,不關心內容,此時map的效果等同於set了。

通過_, ok := map[“key”],的方式判斷key存不存在,而值不佔內存。

(本來想證明一下以上結論是ok的,但是發現篇幅略長,後續找時間發一下:《一看就懂系列之Golang的pprof》)

發佈了93 篇原創文章 · 獲贊 152 · 訪問量 43萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章