Модуль
1Что такое Go и зачем он нужен2Установка и первая программа← вы здесь
Урок 2~12 минут

Установка и первая программа

Установка Go

Скачай с официального сайта go.dev/dl — есть версии для Windows, macOS и Linux. Установка стандартная: скачал, запустил установщик.

После установки проверь в терминале:

bash
go version
# go version go1.26.0 linux/amd64

Если видишь версию — всё готово.


Первая программа

Создай папку и файл main.go:

bash
mkdir hello && cd hello

Содержимое main.go:

go
package main
 
import "fmt"
 
func main() {
    fmt.Println("Hello, World!")
}

Разбор каждой строки — в интерактивном блоке выше. Нажми на любую часть кода.


go run vs go build

Два способа запустить программу:

bash
# Компилирует и сразу запускает (для разработки)
go run main.go
 
# Создаёт бинарный файл (для деплоя)
go build main.go
./main        # или main.exe на Windows

go run — используй пока учишься и разрабатываешь. go build — используй когда хочешь получить файл для сервера.


Структура проекта

Любой Go-проект начинается с модуля:

bash
go mod init github.com/username/hello

Это создаёт go.mod — файл с именем модуля и версией Go:

module github.com/username/hello

go 1.26

Пока в проекте один файл, это кажется лишним. Но как только появятся зависимости — go.mod станет твоим лучшим другом.


go fmt — форматирование

Go имеет официальный форматтер. Одна команда — и весь код приведён к стандарту:

bash
go fmt ./...

В Go-сообществе не спорят о табах vs пробелах, одиночных vs двойных кавычках. Всё решает go fmt. Просто запускай его.


Разбор Hello World по строкам

СтрокаЧто делает
package mainОбъявляет пакет. main — точка входа исполняемой программы
import "fmt"Подключает стандартный пакет форматирования
func main()Функция с которой начинается выполнение
fmt.Println(...)Выводит текст и перенос строки

В следующем уроке разберём переменные и типы данных — основу любой программы.

go fmt автоматически форматирует твой код по стандарту. Не спорь с ним — просто запускай перед каждым коммитом.
main.goНажми на любую часть кода
1package main
2
3import "fmt"
4
5func main() {
6fmt.Println("Hello, World!")
7}
Нажми на выделенную часть кода, чтобы узнать, что она делает
Запуск программы
$ go run main.go
Компилирует и сразу запускает. Для разработки.
Hello, World!
$ go build main.go
Собирает бинарник. Для деплоя.
🎯
Миссия 1 из 4
Какая команда запускает Go-файл без создания бинарника?