我有这个结构
type Zones map[uint64]Zone
我希望有一种方法可以在该地图中找到一个值,就像这样。
func (z *Zones) findById(id uint64) (Zone, error) {
if zone, ok := z[id]; ok {
return zone, nil
} else {
return zone{}, errors.New(fmt.Sprintf("Zone %d not found", id))
}
}
但在这一行:
if zone, ok := z[id]; ok {
我收到此错误:
分配计数不匹配:2=1。
有很多链接表明我们可以使用该行检查地图中是否存在值,我不知道发生了什么。我究竟做错了什么?
提前致谢。