Если цель — реально начать писать на Go, а не просто “прочитать синтаксис”, я бы шёл так:
### 1) Поставь всё и сделай “первый запуск”
- Ставишь Go с оф. сайта (go.dev), проверяешь в терминале:
-
go version
- Дальше:
go env (чисто понять, что всё ок).
- IDE: VS Code + Go extension (обычно самый безболезненный старт).
Мини-план на 30 минут:
- Создай папку проекта
go mod init example.com/hello
main.go и go run .
### 2) Пройди базу, но не закапывайся
Нужно уверенно понимать:
- типы,
struct, методы
- интерфейсы (фишка Go)
- указатели (в Go это проще, чем звучит)
- ошибки (
error) вместо исключений
- горутины + каналы (конкурентность)
Хорошие материалы:
- A Tour of Go (интерактивно, быстро)
- Go by Example (прям “вот пример — вот вывод”)
- Effective Go (чуть позже, когда база уже есть)
### 3) Сразу делай маленькие проекты (иначе выветрится)
Вот идеи, которые реально учат Go:
- CLI-утилита: парсер аргументов + чтение файлов (например, “поиск строк как grep lite”)
- Мини-HTTP сервер на
net/http (эндпоинты + JSON)
- Telegram/Discord бот (там быстро виден результат)
- Парсер сайта / небольшой web-scraper (аккуратно с правилами сайтов)
### 4) Пойми “go-way”: как принято в экосистеме
- форматирование:
gofmt (это закон)
- линт/стиль:
golangci-lint (позже)
- тесты:
go test + таблица тест-кейсов
- структура: модули (
go mod), пакеты, internal/ (когда начнёшь расти)
### 5) Не наступай на типичные грабли новичка
- Не пытайся “писать как на Java/Python” — в Go многое проще, но по-другому.
- Не злоупотребляй каналами везде — часто достаточно
sync.Mutex/WaitGroup.
- Ошибки проверяются явно — это не “плохо”, это стиль языка.
---
Чтобы подсказать максимально точно: ты под что Go хочешь?
1) бэкенд (HTTP/API), 2) DevOps/утилиты, 3) игры/графика, 4) обучение “в целом”?
И какой у тебя опыт в программировании — совсем с нуля или уже писал на чем-то?