Шаг 1
Error, panic и recover без суеты
Ошибки в Go сначала выглядят многословно: почти после каждого важного действия появляется if err != nil. Но именно в этом и смысл подхода: ошибка не…
Учебное направление
Уроки Go: установка, go run, функции, struct, interfaces, goroutines, HTTP API и базы данных. Материалы выстроены от первого знакомства до практических задач и следующего уровня.
Быстрый выбор
Выберите первую задачу и переходите к инструкции.
Ошибки в Go сначала выглядят многословно: почти после каждого важного действия появляется if err != nil. Но именно в этом и смысл…
В этом уроке мы соединим Go и PostgreSQL без лишней архитектурной мишуры: подключимся к базе через pgxpool, создадим endpoint /tasks, прочитаем строки…
Go modules — это система, через которую Go понимает имя проекта, версию языка и внешние зависимости. Если вы уже запускали go mod…
Go хорош тем, что первый HTTP API можно написать на стандартной библиотеке. Без фреймворка, генератора проекта и длинной настройки. В этом уроке…
Go часто выбирают за простую конкуррентность: можно запустить несколько задач почти одной строкой, а результаты передать через channel. Но здесь есть ловушка…
Интерфейсы в Go часто объясняют слишком рано и слишком абстрактно. Поэтому начнем не с терминов, а с задачи: у нас есть сервис…
Маршрут обучения
Шаг 1
Ошибки в Go сначала выглядят многословно: почти после каждого важного действия появляется if err != nil. Но именно в этом и смысл подхода: ошибка не…
Шаг 2
В этом уроке мы соединим Go и PostgreSQL без лишней архитектурной мишуры: подключимся к базе через pgxpool, создадим endpoint /tasks, прочитаем строки из таблицы и…
Шаг 3
Go modules — это система, через которую Go понимает имя проекта, версию языка и внешние зависимости. Если вы уже запускали go mod init, то видели…
Шаг 4
Go хорош тем, что первый HTTP API можно написать на стандартной библиотеке. Без фреймворка, генератора проекта и длинной настройки. В этом уроке мы сделаем два…
Шаг 5
Go часто выбирают за простую конкуррентность: можно запустить несколько задач почти одной строкой, а результаты передать через channel. Но здесь есть ловушка для новичка: если…
Учебные дорожки
Сгруппированные материалы для последовательного изучения.
Маршрут 1
Маршрут 2
Самопроверка
Материалы рубрики
Ошибки в Go сначала выглядят многословно: почти после каждого важного действия появляется if err != nil. Но именно в этом и смысл подхода: ошибка не прячется в исключении, а идет обычным возвращаемым значением.…
В этом уроке мы соединим Go и PostgreSQL без лишней архитектурной мишуры: подключимся к базе через pgxpool, создадим endpoint /tasks, прочитаем строки из таблицы и вернем JSON. Это не «идеальный production-шаблон», а честный…
Go modules — это система, через которую Go понимает имя проекта, версию языка и внешние зависимости. Если вы уже запускали go mod init, то видели файл go.mod. В этом уроке разберем его спокойно:…
Go хорош тем, что первый HTTP API можно написать на стандартной библиотеке. Без фреймворка, генератора проекта и длинной настройки. В этом уроке мы сделаем два endpoint: /health, который возвращает статус сервера, и /tasks,…
Go часто выбирают за простую конкуррентность: можно запустить несколько задач почти одной строкой, а результаты передать через channel. Но здесь есть ловушка для новичка: если начать с красивых слов про параллельность, легко пропустить…
Интерфейсы в Go часто объясняют слишком рано и слишком абстрактно. Поэтому начнем не с терминов, а с задачи: у нас есть сервис задач, которому нужно сохранять текст. Сегодня он сохраняет задачи в память,…
В Go нет классов в привычном смысле, но есть struct и методы. Этого хватает, чтобы описывать пользователя, заказ, платеж, HTTP-ответ или строку из базы данных. В этом уроке соберем данные заказа в struct,…
В Go типы видны рано. Это хорошо: компилятор сразу говорит, где вы смешали число, строку или результат функции не так, как ожидали. В этом уроке мы сделаем небольшой расчет заказа: цена, количество, скидка,…
Цель этого урока — установить Go так, чтобы терминал видел команду go, а первый проект запускался без плясок вокруг PATH. Мы пройдем Windows, macOS и Linux, но держим один главный принцип: скачивать Go…
В этом уроке мы не будем долго рассуждать, зачем нужен Go. Сделаем полезнее: создадим первый файл, запустим его через go run, соберем бинарник через go build и разберем ровно те слова, которые встретятся…