Чему вы научитесь
Функция изменила структуру, а вызывающий код видит старое значение; append внутри функции не увеличил длину слайса; ошибка пустая, но err != nil. Курс разбирает три механизма за этими случаями: копирование значения, общую память слайса и динамический тип интерфейса.
- Начните с диагностики из четырёх вопросов: она покажет, какие темы повторить.
- Проследите, какую копию меняет функция при передаче структуры и указателя.
- Отделите длину слайса от данных общего массива и отличите отсутствующий ключ map от нулевого значения.
- Объясните, почему error с nil-указателем внутри не равен nil, и верните настоящий nil.
- Решите три задачи на Go с автопроверкой независимости памяти и сверьтесь с полными решениями, контрпримерами и чек-листом повторения.
В финальной мини-секции — новая задача и пять вопросов без подсказок, ориентир 20–25 минут.
О курсе
Когда функция в Go меняет копию, а когда общие данные: указатели, slice/map и интерфейс с nil. Диагностика, 18 вопросов с пояснениями и три задачи на Go с автопроверкой и полными решениями.
Для кого этот курс
Go Junior, знакомые с базовым синтаксисом и готовящиеся объяснять поведение небольших программ.
Начальные требования
Переменные, функции, циклы, структуры и базовый ввод-вывод Go. Примеры совместимы с Go 1.18 и новее.
Преподаватели курса
Формат курса
Текст, чтение кода, 18 вопросов с пояснениями, 3 функции на Go со скрытой обвязкой. Без видео.
Нагрузка
75–110 минут, включая практику