Go语言map是怎么比较key是否存在的

2025-05-10 06:07:20
推荐回答(1个)
回答1:

支持==!=操作做key实际function、map、slice三kind支持作key能nil比较能另值比较布尔、整型、浮点、复数、字符串、指针、channel等都做key struct能能做key要看每字段所字段都做keystruct字段能做keystruct能做keyarray元素类型能做keyarray 例: type Foo map[struct { B bool I int F float64 C complex128 S string P *Foo Ch chan Foo }]bool 每字段都做keyFoo做key再: type Foo map[struct { Fn func() Foo M map[*Foo]int S []Foo }]bool 字段能做key、Foo允许做key三字段都能 字段递归检查: type Foo map[struct { Sub struct { M map[*Foo]bool } }]bool SubM字段能做keySub能做keyFoo能做key 总想数据结构用于mapkey能包含function、mapslic