📄️ Обработка ошибок в Go (Часть 1: Философия и if err != nil)
В Go нет блока try-catch. Ошибка — это просто результат выполнения функции, который вы возвращаете вместе с полезным значением.
📄️ Проверка типов и Panic
Когда вы оборачиваете ошибки через %w, вы создаете «цепочку» ошибок. Это очень полезно для отладки, но возникает вопрос: как проверить, является ли ошибка конкретным типом, если она скрыта под слоем вашего текста?
📄️ Тестирование (testing)
Главное правило тестирования в Go: файлы с тестами должны называться названиефайлаtest.go и лежать в той же папке, что и тестируемый код.
📄️ Управление временем жизни (context)
Представьте, что вы делаете заказ в ресторане. Официант (основной процесс) идет к повару (горутина 1), повар просит мясника (горутина 2) отрезать мясо. Если вы вдруг передумали и ушли из ресторана, официант должен сказать всем: "Стоп! Заказ отменен, не тратьте время".