Статьи

context.Context в Go: зачем и как использовать

context.Context в Go: зачем и как использовать

Коротко: context.Context передаёт через цепочку вызовов отмену, таймаут и значения запроса — вовремя останавливает ненужную работу и спасает от утечек горутин. Коротко: context.Context — это способ передать через цепочку вызовов сигнал отмены, дедлайн/таймаут и небольшие значения, привязанные к…

Сборка и деплой Go-бинаря в Docker (multi-stage)

Сборка и деплой Go-бинаря в Docker (multi-stage)

Коротко: Go компилируется в один статический бинарник, поэтому образ собирают multi-stage — итог в единицы мегабайт вместо сотен. Коротко: Go компилируется в один статический бинарник, поэтому образ для него собирают в два этапа (multi-stage) — на первом компилируют в «толстом» образе с тулчейном…

Структуры и интерфейсы в Go vs ООП в PHP

Структуры и интерфейсы в Go vs ООП в PHP

Коротко: в Go нет классов и наследования: данные — структуры, поведение — методы, контракты — интерфейсы (реализуются неявно); композиция вместо иерархий. Коротко: в Go нет классов и наследования. Данные описываются структурами , поведение — методами , а контракты — интерфейсами , причём интерфейсы…

Обработка ошибок в Go: error, wrapping, panic/recover

Обработка ошибок в Go: error, wrapping, panic/recover

Коротко: в Go ошибка — обычное значение, а не исключение: функция возвращает error, и вы обрабатываете его сразу; никаких try/catch. Главное, что нужно понять про ошибки в Go: ошибка — это обычное значение , а не исключение. Функция возвращает error вторым результатом, и вы обрабатываете его сразу…

Горутины и каналы в Go простыми словами

Горутины и каналы в Go простыми словами

Коротко: горутина — очень лёгкая нить выполнения, канал — безопасная труба для обмена данными; вместе дают конкурентность без ручной возни с потоками. Если совсем коротко: горутина — это очень лёгкая «нить» выполнения, которую Go запускает почти бесплатно, а канал — это безопасная труба, по которой…

Нужна разработка или консультация?

Опишите задачу — отвечу и предложу формат работы.

Обсудить задачу