Допустим есть некая функция возвращающая значение в виде целочисленного числа. Но в некотором случае функция не может вернуть какое-либо корректное число и нужно сообщить об этом клиентскому коду. Как быть?
Проще всего возвращать в функции два аргумента, первый будет тем самым int значением, а второй — ошибкой. Если всё ок и есть корректное число, то делаем:
return int, nil
А в случае какой-либо ошибки возвращаем любое число и сообщение об ошибке:
return 0, errors.New("not found")
В клиентском коде это можно обработать так:
val, err = someFunc()
if err != nil {
panic(err)
}