По работе надо было написать микросервис для перекладывания JSON’ов, решил дать еще один шанс языку Go и написать на нем, с разбором впечатлений, как для Elm или Rust. Микросервис-то я написал, а вот пост писать раздумал, решил ограничиться примером, который, как мне кажется, довольно показательный.

Вот у нас есть метод из стандартной библиотеки, log.Fatal. Что он делает?

Ответ

Ожидаемый ответ — выводит сообщение в лог с уровнем FATAL. Сообщение он действительно выведет. Но еще он и завершит программу с кодом возврата 1. А я еще студентам пытаюсь что-то про SRP и хорошие имена говорить…

Ок, а что делают log.Info и log.Error?

Ответ

Ошибку компиляции делают, потому что нет таких методов.