func ErrKeyNotExists() error {
return errors.New("key not exists")
}
if ErrKeyNotExists() == ErrKeyNotExists() {
log.Println("ok")
} else {
log.Println("err")
}
Почему возвращает "err"? У меня в коде много таких функций и после обновления к 1.7 всё сломалось.
UPD.
Из-за того что errors возвращает ссылку то if смотрит одинаков ли адрес, а не значение.
Проверил вот таким кодом
q := 1
w := 1
if &q == &w {
log.Println("ok")
} else {
log.Println("err")
}
Как заставить if сравнивать значение?