Установка и окружение
Ставим Go, настраиваем окружение и проверяем, что всё работает.
Прежде чем писать код, нужно установить инструментарий Go. Хорошая новость: это один архив, после установки которого у вас есть и компилятор, и менеджер пакетов, и форматтер, и тестовый раннер — всё в одной команде go.
Установка
Зайдите на официальный сайт go.dev/dl и скачайте установщик для вашей ОС. Для macOS и Windows это графический установщик, для Linux — архив, который распаковывают в /usr/local. Менеджеры пакетов тоже подойдут:
# macOS (Homebrew)
brew install go
# Ubuntu/Debian
sudo apt install golang-go
# Проверка, что Go установлен
go versionВывод:
go version go1.22.0 darwin/arm64
Что такое GOPATH и почему о нём можно не думать
Если вы читали старые статьи про Go, там много про переменную GOPATH и обязательную структуру каталогов. Забудьте: с появлением модулей (Go 1.11+) проекты можно держать в любой папке. Современный Go использует модули, и GOPATH вам практически не нужен. Достаточно, чтобы каталог с бинарниками Go был в PATH — установщик обычно прописывает это сам.
Полезные команды go
| Команда | Что делает |
go run | компилирует и сразу запускает |
go build | собирает бинарник |
go mod | управляет модулем и зависимостями |
go test | запускает тесты |
go fmt | форматирует код по канону |
go vet | ищет подозрительные конструкции |
Редактор
Подойдёт любой, но удобнее всего VS Code с официальным расширением Go или GoLand от JetBrains. Расширение само подтянет инструменты автодополнения и линтинга. Важная особенность экосистемы: код принято форматировать через gofmt, и редакторы делают это при сохранении. В Go нет споров о стиле — есть один канонический формат, и все ему следуют. Это снимает целый пласт бессмысленных дискуссий о пробелах и скобках.
Проверка установки
Создайте файл hello.go с одной строкой вывода и запустите. Если на экране появился текст — окружение готово.
package main
import "fmt"
func main() {
fmt.Println("Go установлен")
}go run hello.goВывод:
Go установлен
Итог
- Go ставится одним установщиком; проверка —
go version. - Современный Go использует модули, про
GOPATHдумать почти не нужно. - Код форматируется единым
gofmt— споров о стиле в Go нет.