1. Основы Go: Настройка окружения, синтаксис и первый консольный проект
Основы Go: Настройка окружения, синтаксис и первый консольный проект
Добро пожаловать в курс «Backend-разработчик на Go». Вы сделали отличный выбор. Go (или Golang) — это язык, на котором держится современная облачная инфраструктура. Docker, Kubernetes, Prometheus — все эти гиганты написаны на Go. В России этот язык является стандартом де-факто для высоконагруженных систем в таких компаниях, как Яндекс, Ozon, Wildberries, Avito и Тинькофф.
В этой первой статье мы пройдем путь от «чистого листа» до вашего первого работающего приложения. Мы не будем тратить время на скучную теорию без практики. Наша цель — сразу начать писать код, который работает.
Почему Go идеален для старта?
Go был создан в Google в 2009 году с конкретной целью: повысить продуктивность разработчиков и решить проблемы масштабируемости. Он сочетает в себе производительность C++ и читаемость Python.
Ключевые преимущества:
* Простота. В спецификации языка всего около 25 ключевых слов. * Строгая статическая типизация. Компилятор найдет большинство ваших ошибок еще до запуска программы. * Скорость. Go компилируется в машинный код, что делает его невероятно быстрым. * Встроенная конкурентность. Работа с тысячами параллельных процессов — это «фишка» Go, о которой мы поговорим в следующих модулях.
!Процесс превращения исходного кода Go в исполняемый бинарный файл
Шаг 1: Настройка окружения
Чтобы стать профессионалом, нужно использовать профессиональные инструменты. Нам понадобятся две вещи: компилятор Go и среда разработки (IDE).
Установка Go
После установки откройте терминал (PowerShell в Windows или Terminal в macOS/Linux) и введите команду:
Если вы увидите что-то вроде go version go1.21.0 ..., значит, вы готовы к работе.
Выбор IDE
Для комфортной разработки я рекомендую один из двух вариантов:
* VS Code (бесплатно). Самый популярный редактор. Обязательно установите официальное расширение «Go» от команды Go Team. * GoLand (платно, есть пробный период). Мощная IDE от JetBrains, стандарт в крупных компаниях.
Для начала курса VS Code будет более чем достаточно.
Шаг 2: Структура программы и Hello World
В Go весь код организован в пакеты. Это фундаментальное понятие. Любая запускаемая программа должна начинаться с пакета main.
Создайте папку для вашего проекта, например go-course, и внутри создайте файл main.go. Напишем наш первый код:
Разберем каждую строку:
package main: Сообщает компилятору, что этот файл является точкой входа в программу и должен быть скомпилирован в исполняемый файл.import "fmt": Подключает пакет fmt (format), который содержит функции для форматирования ввода и вывода (аналог printf в C или print в Python).func main() { ... }: Главная функция. Именно отсюда начинается выполнение программы.Запуск программы
В терминале, находясь в папке с файлом, выполните:
Команда go run компилирует и сразу запускает программу без создания бинарного файла на диске. Это удобно для разработки.
Если вы хотите создать настоящий .exe (или бинарник для Linux/Mac), используйте:
Шаг 3: Переменные и типы данных
Go — язык со статической типизацией. Это значит, что тип переменной определяется при компиляции и не может меняться в процессе работы. Это спасает от множества багов, с которыми сталкиваются разработчики на Python или JavaScript.
Объявление переменных
Существует два основных способа создания переменных:
1. Полная форма (через var): Используется, когда мы хотим явно указать тип или объявить переменную без начального значения (она получит «нулевое значение»).
2. Краткая форма (через :=): Самый популярный способ. Компилятор сам догадается о типе данных. Работает только внутри функций.
> Важно: В Go нельзя объявить переменную и не использовать её. Компилятор выдаст ошибку. Это приучает писать чистый код без мусора.
Основные типы данных
| Тип | Описание | Пример |
| :--- | :--- | :--- |
| int | Целое число (зависит от архитектуры, обычно 64 бита) | 42, -10 |
| float64 | Число с плавающей точкой (двойная точность) | 3.14, 0.001 |
| string | Строка (набор символов UTF-8) | "Привет" |
| bool | Логический тип | true, false |
Шаг 4: Управляющие конструкции
Синтаксис Go минималистичен. Здесь нет while или do-while. Есть только for и if.
Условный оператор if
Скобки вокруг условия не нужны, а фигурные скобки {} обязательны.
Цикл for
Единственный цикл в Go. Он может работать как классический for, как while и как бесконечный цикл.
Практика: Консольный проект «Финансовый помощник»
Теория без практики мертва. Давайте напишем мини-приложение, которое поможет вам отслеживать финансы. Это будет консольная утилита, где можно вносить доходы и расходы.
Задача
Реализовать программу, которая:
Реализация
Создайте новый файл wallet.go.
1. Инициализация модуля В современных проектах Go принято использовать Go Modules. В терминале выполните:
Это создаст файл go.mod, который описывает ваш проект.
2. Написание кода
Разбор ключевых моментов проекта
fmt.Scan(&choice): Мы используем &, чтобы передать адрес переменной. Функция Scan должна изменить значение переменной choice, поэтому ей нужен доступ к месту в памяти, где эта переменная лежит. О указателях мы поговорим позже, пока просто запомните этот синтаксис для ввода.balance += amount: Краткая запись для balance = balance + amount.break: Ключевое слово для немедленного выхода из цикла.%.2f: Форматирование вывода числа с плавающей точкой — оставляет только два знака после запятой.Заключение
Поздравляю! Вы только что написали свое первое интерактивное приложение на Go. Вы настроили окружение, освоили базовый синтаксис, переменные, циклы и ввод/вывод.
В следующей статье мы углубимся в структуры данных: массивы, слайсы и карты (maps), чтобы наш «Финансовый помощник» мог запоминать историю операций, а не только итоговую сумму.
Ваш путь в Big Tech начался. Не останавливайтесь!