cybertype.ru

Go: 100 уровней кода

Большой курс набора кода на Go: 100 уровней от Hello World до горутин, каналов, дженериков и юнит-тестов. Реальные компилируемые сниппеты с подсветкой синтаксиса, автоотступами и поддержкой Enter/Tab.

100 уровней · 300 ₽ · разовая покупка или Premium-подписка

Открыть курс в тренажёре

Программа курса

  1. Hello, World — Первая программа: пакет, импорт и точка входа
  2. Комментарии — Однострочные и блочные комментарии
  3. Переменные: var — Явное объявление переменных с типом
  4. Короткое объявление := — Вывод типа компилятором
  5. Константы и iota — const и автоинкремент iota
  6. Базовые типы — int, float64, string, bool, byte, rune
  7. Преобразование типов — Явные конверсии между числовыми типами
  8. Арифметика — Операторы, целочисленное деление и остаток
  9. Строки — Конкатенация и длина строки
  10. Форматированный вывод — fmt.Printf и вербы %s, %d, %.2f, %t, %v
  11. Условие if / else — Ветвление без скобок вокруг условия
  12. if с инициализацией — Объявление переменной прямо в условии
  13. Оператор switch — Выбор ветки по значению
  14. switch без условия — Замена цепочки if/else
  15. Классический for — Единственный цикл в Go
  16. for как while — Цикл только с условием
  17. for range — Итерация по срезу с индексом и значением
  18. break и continue — Управление итерациями цикла
  19. Вложенные циклы и метки — break с меткой выходит из внешнего цикла
  20. FizzBuzz — Классическая задача на условия и цикл
  21. Функции — Параметры и возвращаемое значение
  22. Несколько возвращаемых значений — Функция возвращает результат и признак успеха
  23. Именованные результаты — Возвращаемые значения с именами и голый return
  24. Variadic-функции — Произвольное число аргументов
  25. Функция как значение — Функции — граждане первого класса
  26. Анонимные функции — Объявление и немедленный вызов
  27. Замыкания — Функция-счётчик, захватывающая переменную
  28. Оператор defer — Отложенное выполнение при выходе из функции
  29. defer: порядок LIFO — Несколько defer выполняются в обратном порядке
  30. Рекурсия: факториал — Функция вызывает саму себя
  31. Рекурсия: Фибоначчи — Классическая последовательность
  32. Массивы — Фиксированная длина — часть типа
  33. Срезы: make и append — Динамический список поверх массива
  34. Срезы срезов — Выборка диапазона s[low:high]
  35. Функция copy — Независимая копия среза
  36. Двумерные срезы — Срез срезов как таблица
  37. Map: создание и запись — Ассоциативный массив ключ → значение
  38. Map: проверка наличия — Идиома comma ok
  39. Map: удаление — delete и повторная проверка
  40. Итерация по map — range по ключам и значениям
  41. Байты и руны — UTF-8: длина строки в байтах и в символах
  42. Пакет strings — Contains, ToUpper, Split, Join
  43. Пакет strconv — Строки в числа и обратно
  44. strings.Builder — Эффективная сборка строки в цикле
  45. Сортировка — sort.Slice с функцией сравнения
  46. Линейный поиск — Найти индекс элемента в срезе
  47. Реверс среза — Обмен элементов с двух концов
  48. Фильтрация среза — Отобрать элементы по условию
  49. Сумма и максимум — Агрегация значений среза
  50. Уникальные элементы — Дедупликация через map

…и ещё 50 уровней в тренажёре.