У меня есть такая структура
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.
Существует множество ссылок, которые предполагают, чтомы можем проверить, существует ли значение на карте с этой линией, я понятия не имею, что происходит.Что я делаю не так?
Заранее спасибо.