Установка и окружение

Ставим 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 нет.
Проверьте себя
1. Какой командой проверить, что Go установлен?
Ago check
Bgo version
Cgo install
Dgo status
2. Зачем нужен gofmt?
AСжимает бинарник
BПриводит код к единому каноническому формату
CЗапускает тесты
DСкачивает зависимости
Поддержать проект