Учебное направление

Go

Уроки Go: установка, go run, функции, struct, interfaces, goroutines, HTTP API и базы данных. Материалы выстроены от первого знакомства до практических задач и следующего уровня.

Быстрый выбор

С чего начать Go

Выберите первую задачу и переходите к инструкции.

Error, panic и recover без суеты

Ошибки в Go сначала выглядят многословно: почти после каждого важного действия появляется if err != nil. Но именно в этом и смысл…

Go и PostgreSQL: мини-API с базой данных

В этом уроке мы соединим Go и PostgreSQL без лишней архитектурной мишуры: подключимся к базе через pgxpool, создадим endpoint /tasks, прочитаем строки…

Go modules: go mod init, tidy и зависимости

Go modules — это система, через которую Go понимает имя проекта, версию языка и внешние зависимости. Если вы уже запускали go mod…

HTTP server на Go: первый API без фреймворка

Go хорош тем, что первый HTTP API можно написать на стандартной библиотеке. Без фреймворка, генератора проекта и длинной настройки. В этом уроке…

Goroutines и channels: первая параллельность в Go

Go часто выбирают за простую конкуррентность: можно запустить несколько задач почти одной строкой, а результаты передать через channel. Но здесь есть ловушка…

Interfaces в Go простыми словами

Интерфейсы в Go часто объясняют слишком рано и слишком абстрактно. Поэтому начнем не с терминов, а с задачи: у нас есть сервис…

Маршрут обучения

Как двигаться по порядку

1

Шаг 1

Error, panic и recover без суеты

Ошибки в Go сначала выглядят многословно: почти после каждого важного действия появляется if err != nil. Но именно в этом и смысл подхода: ошибка не…

2

Шаг 2

Go и PostgreSQL: мини-API с базой данных

В этом уроке мы соединим Go и PostgreSQL без лишней архитектурной мишуры: подключимся к базе через pgxpool, создадим endpoint /tasks, прочитаем строки из таблицы и…

3

Шаг 3

Go modules: go mod init, tidy и зависимости

Go modules — это система, через которую Go понимает имя проекта, версию языка и внешние зависимости. Если вы уже запускали go mod init, то видели…

4

Шаг 4

HTTP server на Go: первый API без фреймворка

Go хорош тем, что первый HTTP API можно написать на стандартной библиотеке. Без фреймворка, генератора проекта и длинной настройки. В этом уроке мы сделаем два…

5

Шаг 5

Goroutines и channels: первая параллельность в Go

Go часто выбирают за простую конкуррентность: можно запустить несколько задач почти одной строкой, а результаты передать через channel. Но здесь есть ловушка для новичка: если…

Учебные дорожки

Маршруты по теме «Go»

Сгруппированные материалы для последовательного изучения.

Самопроверка

Как понять, что можно идти дальше

  1. Вы можете повторить основной пример без пропущенных шагов
  2. Понимаете назначение ключевых команд и параметров
  3. Умеете проверить результат и прочитать сообщение об ошибке
  4. Можете изменить пример под собственную задачу

Материалы рубрики

Новые материалы по теме «Go»

Error, panic и recover без суеты

Ошибки в Go сначала выглядят многословно: почти после каждого важного действия появляется if err != nil. Но именно в этом и смысл подхода: ошибка не прячется в исключении, а идет обычным возвращаемым значением.…

Go и PostgreSQL: мини-API с базой данных

В этом уроке мы соединим Go и PostgreSQL без лишней архитектурной мишуры: подключимся к базе через pgxpool, создадим endpoint /tasks, прочитаем строки из таблицы и вернем JSON. Это не «идеальный production-шаблон», а честный…

Go modules: go mod init, tidy и зависимости

Go modules — это система, через которую Go понимает имя проекта, версию языка и внешние зависимости. Если вы уже запускали go mod init, то видели файл go.mod. В этом уроке разберем его спокойно:…

HTTP server на Go: первый API без фреймворка

Go хорош тем, что первый HTTP API можно написать на стандартной библиотеке. Без фреймворка, генератора проекта и длинной настройки. В этом уроке мы сделаем два endpoint: /health, который возвращает статус сервера, и /tasks,…

Goroutines и channels: первая параллельность в Go

Go часто выбирают за простую конкуррентность: можно запустить несколько задач почти одной строкой, а результаты передать через channel. Но здесь есть ловушка для новичка: если начать с красивых слов про параллельность, легко пропустить…

Interfaces в Go простыми словами

Интерфейсы в Go часто объясняют слишком рано и слишком абстрактно. Поэтому начнем не с терминов, а с задачи: у нас есть сервис задач, которому нужно сохранять текст. Сегодня он сохраняет задачи в память,…

Struct и методы в Go: первый объект без ООП-магии

В Go нет классов в привычном смысле, но есть struct и методы. Этого хватает, чтобы описывать пользователя, заказ, платеж, HTTP-ответ или строку из базы данных. В этом уроке соберем данные заказа в struct,…

Переменные, типы и функции в Go

В Go типы видны рано. Это хорошо: компилятор сразу говорит, где вы смешали число, строку или результат функции не так, как ожидали. В этом уроке мы сделаем небольшой расчет заказа: цена, количество, скидка,…

Как установить Go: Windows, macOS, Linux и проверка версии

Цель этого урока — установить Go так, чтобы терминал видел команду go, а первый проект запускался без плясок вокруг PATH. Мы пройдем Windows, macOS и Linux, но держим один главный принцип: скачивать Go…

Go с нуля: первый файл, go run и fmt.Println

В этом уроке мы не будем долго рассуждать, зачем нужен Go. Сделаем полезнее: создадим первый файл, запустим его через go run, соберем бинарник через go build и разберем ровно те слова, которые встретятся…

Настройки cookie