Go — это язык, который выглядит так, будто кто-то устал от лишней магии и решил: «а давайте просто писать быстрый и понятный код». И в этом его кайф. Если давно хотелось попробовать Go, но всё упиралось в вопросы вроде «а как вообще создать проект?», «что такое go.mod?» и «почему все говорят, что тут всё просто, а мне пока страшно?» — сейчас разберёмся.
😎 Почему Go вообще стоит попробовать
У Go очень понятная репутация: он быстрый, строгий, лаконичный и отлично подходит для бэкенда, API, CLI-утилит, микросервисов и всяких серьёзных штук, где хочется, чтобы всё работало стабильно и без сюрпризов.
По ощущениям Go — это язык, который не пытается быть вашим лучшим другом. Он скорее такой коллега, который молча делает свою работу и не устраивает драму в проде.
За это его и любят:
⚡ быстрая компиляция и высокая производительность;
🧠 простой синтаксис без перегруза;
📦 удобная система модулей;
🔧 хороший стандартный набор инструментов;
🚀 удобство для реальных боевых проектов.
Короче, если хочется язык, на котором можно довольно быстро начать и при этом писать «по-взрослому» — Go очень хороший вариант.
🛠 Шаг 1. Устанавливаем Go
Сначала нужен сам Go. Скачайте установщик с официального сайта и поставьте его как обычную программу.
https://go.dev/dl/После установки откройте терминал и проверьте, что всё действительно работает:
go versionЕсли видите что-то вроде этого:
go version go1.22.0 windows/amd64— всё отлично. Значит, Go установлен и готов к работе.
Если команда не находится, значит проблема чаще всего в том, что путь до Go не добавился в системные переменные. Но в большинстве случаев после обычной установки всё подхватывается автоматически.
📁 Шаг 2. Создаём папку проекта
Теперь создадим будущий проект. Например, назовём его hello-go.
mkdir hello-go
cd hello-goПока это просто папка. Но через минуту она уже станет вашим первым Go-проектом. Да, путь в разработку иногда начинается буквально с одной команды и капли уверенности.
📦 Шаг 3. Инициализируем модуль
Вот здесь появляется важная штука — go.mod. Это файл, в котором Go хранит информацию о модуле и зависимостях проекта.
Создаём его так:
go mod init hello-goПосле этого в папке появится файл go.mod. Его содержимое будет примерно таким:
module hello-go
go 1.22.0Что это значит:
module hello-go— имя вашего модуля;go 1.22.0— версия Go, под которую создан проект.
Проще говоря, go.mod — это точка, с которой Go понимает: «ага, вот это уже настоящий проект».
✍️ Шаг 4. Создаём первый файл
Теперь добавим файл main.go. Именно он станет точкой входа в программу.
package main
import "fmt"
func main() {
fmt.Println("Hello, Go!")
}Разберём этот код нормально, без магии:
package main— указываем, что это главный пакет программы;import "fmt"— подключаем пакет для вывода текста;func main()— главная функция, с неё начинается выполнение программы;fmt.Println("Hello, Go!")— выводим текст в консоль.
Да, выглядит очень просто. И это хорошо. Go вообще любит, когда всё читается без квеста на расшифровку синтаксиса.
▶️ Шаг 5. Запускаем программу
Самый приятный момент — запуск.
go run main.goВ ответ вы увидите:
Hello, Go!Поздравляю. Всё. Это ваш первый работающий проект на Go 🎉
Да, возможно, он пока умеет только здороваться. Но каждый большой сервис когда-то тоже начинался с чего-то уровня Hello, World. Просто потом его немного… усложнили.

🧱 Как выглядит структура простого проекта
На старте структура будет очень маленькой:
hello-go/
├── go.mod
└── main.goИ это абсолютно нормально. Не нужно пытаться сразу строить enterprise-монстра с десятью папками, тремя слоями архитектуры и ощущением, что вы уже тимлид. Сначала — просто рабочий проект.
Когда приложение растёт, структура часто становится примерно такой:
my-project/
├── cmd/
│ └── app/
│ └── main.go
├── internal/
│ ├── handlers/
│ ├── services/
│ └── repository/
├── pkg/
├── go.mod
└── go.sumЧто здесь обычно лежит:
cmd— точки входа в приложение;internal— внутренняя логика проекта;pkg— переиспользуемые пакеты;go.modиgo.sum— модули и зависимости.
Но важно: на первом проекте вам это всё не нужно. Новички часто пытаются сразу «сделать красиво», а потом три часа смотрят на пустые папки и не понимают, где вообще код. Начните с минимума.
⚙️ Полезные команды, которые пригодятся сразу
Кроме go run, есть ещё несколько команд, которые быстро станут привычными:
go build
go test
go mod tidyЧто они делают:
go build— собирает исполняемый файл;go test— запускает тесты;go mod tidy— приводит зависимости в порядок.
Например, если выполнить:
go build— Go соберёт бинарник, который можно запускать отдельно. То есть программа уже будет не просто набором файлов, а полноценным исполняемым приложением.
📱 Где удобно практиковаться дальше?
Прочитать статью — это хороший старт. Но реальный прогресс начинается в тот момент, когда вы не просто смотрите на код, а сами его пишете, запускаете, ломаете и чините.
Для этого удобно использовать Кодик — приложение, где можно изучать программирование с практикой, а не только читать теорию. Это особенно полезно, когда хочется не просто вдохновиться новой технологией, а реально начать в ней разбираться шаг за шагом.
А ещё у нас есть сообщество в Telegram, где регулярно выходят полезные посты по программированию. Это удобный формат, чтобы повторять материал, подмечать полезные штуки, не выпадать из темы и просто держать себя в тонусе. Иногда один короткий пост вовремя даёт больше пользы, чем час хаотичного скролла по статьям.
