map
有時侯需要記綠一下數據集是否存在,就會想到用map
數據結構,比如:map[int]bool
,但是如果並不關心或者不用儲存值的話就可以使用 map[int]interface{}
,這樣的區別是可以賦值 struct{}{}
,減少內存空間的占用:
cache := make(map[int]interface{})
cache[1] = struct{}{}
其中內存空間查看: playground
package main
import (
"fmt"
"unsafe"
)
func main() {
a := struct{}{}
b := true
c := 0
d := ""
fmt.Println(unsafe.Sizeof(a))
fmt.Println(unsafe.Sizeof(b))
fmt.Println(unsafe.Sizeof(c))
fmt.Println(unsafe.Sizeof(d))
}
結果
0
1
8
16