Бесплатные материалы

Продвинутая база GO для работы и собеседований

ИСТОЧНИК:
На этом открытом уроке за 1,5 часа мы разберем язык Go от «А» до «Я» — от установки окружения до продвинутых нюансов синтаксиса и работы с памятью, которые необходимо знать для работы и уверенного прохождения собеседований.

В этом уроке:

  • Настройка окружения: как правильно установить Go, что такое GOROOT/GOPATH и как устроена структура проекта (Go modules).
  • Типизация и указатели: разбор системы типов, работа с указателями и концепция Zero Value.
  • Массивы и слайсы: глубокое погружение в механику работы слайсов, использование функций append и copy, а также нюансы выделения памяти.
  • Строки под капотом: в чем разница между байтами и рунами (runes), и как корректно работать с кодировкой UTF-8.
  • Структуры и композиция: использование тегов, модификаторы доступа (Public/Private) и особенности пустых структур.
  • Функции и замыкания: множественные возвращаемые значения, вариативные функции и работа с контекстом.

В итоге у тебя будет мощная база для написания корректных программ на Go и понимание внутренних механизмов языка, которое поможет тебе отвечать на каверзные вопросы на интервью в любой BigTech-компании.

Дополнительные материалы к видео

Исходный код
https://github.com/IgorWalther/videos/tree/master/0010_go_base_syntax
Статья "Как называть пакеты в GO"
https://go.dev/blog/package-names
Соглашение по импортам
https://google.github.io/styleguide/go/best-practices.html#import-ordering
Гайд по структуре проекта
https://github.com/golang-standards/project-layout
Видео про типы
https://t.me/igoroutine/89?comment=321
Видео про типизированный LRU кэш
https://t.me/igoroutine/89?comment=345
Видео про память
https://t.me/igoroutine_chat/295
Видео про SIMD
https://t.me/igoroutine/72
Как в ассемблере представляются возвращаемые значения
https://www.youtube.com/watch?v=R121Xpb28og&pp=ygUVZ29mdW5jINC_0LDQvdCw0YHRjtC6
Полезный гайд по Go (Effective Go)
https://go.dev/doc/effective_go
Книга The Go Programming Language Alan A.A. Donovan, Brian W.Kernighan
https://edu.anarcho-copy.org/Programming%20Languages/Go/The%20Go%20Programming%20Language%20-%20Donovan,%20Alan%20A.%20A.%20_%20Kernigha_6127.pdf