Вчимо Go з досвідом Python¶
Особисті конспект-нотатки для Python-розробника, який починає вивчати Go. Мета — пояснювати Go його власними категоріями, з короткими порівняннями з Python там, де вони допомагають загострити різницю, а не перетворити пояснення на переклад.
Усі матеріали орієнтовані на актуальний стабільний реліз Go — Go 1.26.4.
Як організовано матеріал¶
Кожна тема має свою нумеровану теку. Усередині теми конспекти й прикладні файли коду йдуть однією наскрізною нумерацією, тож порядок читання та запуску завжди очевидний.
Екосистема та встановлення¶
- Що таке Go — мова, спільнота, екосистема.
- Команда
go— кожна підкоманда, яку вам справді доведеться використовувати. go tool trace— трейсер виконання.- Типи файлів —
.go,_test.go,go.mod,go.sum, build-обмеження. - Спеціальні каталоги —
internal/,testdata/, конвенції. - Декілька версій Go —
GOTOOLCHAIN, директивиgoйtoolchain. - Встановлення — macOS, Linux, Windows.
- Додаткові інструменти —
gopls,dlv,golangci-lintта інші. - Демонстраційний проєкт — невеликий запускний модуль, який ілюструє все вищесказане.
Основи мови¶
- Змінні та константи
- Базові типи
- Перетворення типів
- Оператори
- Керування потоком
- Функції
- Помилки
- Вказівники
- Власні типи
- Методи
- Defer
- Panic та recover
- Імпорти
Джерела¶
- Репозиторій з вихідним кодом: https://github.com/oduvan/learn-go-from-python.
- Наприкінці кожного конспекту перелічені офіційні джерела, з якими було звірено матеріал — як правило, go.dev, pkg.go.dev або специфікація Go.