Thank Go!

Все о чистом коде на Go.

Курс «Многозадачность в Go»

Осваиваем многозадачное программирование на практике.

Таймеры в Go 1.23

Детективная история.

Полносрезное выражение в Go

Меняем емкость при нарезке.

Пустой срез vs. nil-срез в Go

Чем отличаются и как с ними работать.

Запускаем 100К горутин в Go

Сколько можно запустить горутин и от чего это зависит.

Приемчики форматирования в Go

Поля структуры, тип значения, индекс аргумента.

range по функциям в Go

Что это и зачем.

Go Generics

Урок по дженерикам в Go.

nil-получатель метода в Go

Метод можно вызвать на пустом указателе.

Интерфейсы и nil в Go

Как работают пустые (и не очень) интерфейсы в Go.

Замыкание = гибкость

Универсальный инструмент для многих ситуаций.

Метод на значении / указателе в Go

Когда и что можно вызвать.

Пишем менеджер пакетов

Так, чтобы не потратить на это целый год.

Встроенные функции в Go 1.21

Выбираем минимальное/максимальное значение и очищаем контейнеры.

Избранные фичи Go 1.20

Множественные ошибки, причина отмены контекста, новые форматы дат и прочее.

Композиция атомиков в Go

Разбираем атомарность и предсказуемость операций в многопоточной среде.

Идемпотентный Close в Go

Как сделать освобождение ресурсов безопасным.

Красавица и чудовище. Обработка ошибок в Go

Ошибки в го особенно уродливы, но это неспроста.