Хабр Курсы для бэкендеров
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Перекрытие переменной: будьте аккуратны с использованием
:=
вif
. Это может привести к созданию новой локальной переменной**err
.**var err error // ...if data, err := json.Marshal(obj); err != nil { // This creates a new 'err' return err // Returns the inner err, not the outer one }// The outer err is unchanged here
Интересно, кому придет в голову вернуть какую-то ошибку из тех что выше, если ошибка произошла при маршалинге?
Паттерны обработки ошибок в GO: это должен знать каждый разработчик