我正在使用此构造来模拟一组
type MyType uint8 map[MyType]interface{}
然后,我添加所有密钥并将它们映射到nil。
nil
我了解到也可以使用
map[MyType]struct{}
使用空结构与interface{}。
interface{}
内存使用情况。例如,类型struct{},interface{}以及bool,
struct{}
bool
package main import ( "fmt" "unsafe" ) func main() { var s struct{} fmt.Println(unsafe.Sizeof(s)) var i interface{} fmt.Println(unsafe.Sizeof(i)) var b bool fmt.Println(unsafe.Sizeof(b)) }
输出(用于32位体系结构的字节):
0 8 1
输出(64位体系结构的字节):
0 16 1
参考文献:
Go数据结构:接口