Команда Go for Devs подготовила перевод материала о том, как изменилась экосистема Go к 2025 году. Рост числа профессиональных разработчиков, смещение баланса между веб-фреймворками, развитие инструментов тестирования, взлёт AI-редакторов и укрепление позиций Go в корпоративных и инфраструктурных командах — язык уверенно взрослеет и расширяет своё влияние.
В этом году Go исполняется 16 лет. В честь этой даты мы внимательно изучили свежие результаты опроса Developer Ecosystem Survey и проследили, как менялась экосистема Go за последние пять лет.
По данным JetBrains Data Playground, 2,2 миллиона профессиональных разработчиков используют Go как основной язык программирования — это вдвое больше, чем пять лет назад. Если прибавить специалистов, для которых Go — дополнительный язык, общее число превышает 5 миллионов.
Go по-прежнему остаётся одним из самых привлекательных языков для освоения: согласно отчёту State of Developer Ecosystem Report 2025, 11% всех разработчиков планируют начать использовать Go в ближайшие 12 месяцев. Как и в прошлом году, он занимает четвёртое место в JetBrains Language Promise Index, уступая только TypeScript, Rust и Python.
Разработчики Go обычно делятся на две основные категории, хотя многие совмещают обе роли:
Бэкенд-разработчики, создающие веб-приложения на основе микросервисов.
DevOps-инженеры или инженеры по надёжности (SRE), которые управляют платформами ИТ-инфраструктуры (Kubernetes или serverless-архитектуры). Они обычно работают над операторами кластеров Kubernetes, связанными веб-микросервисами на Go и CLI-утилитами на Go, Python или Bash, а также занимаются инфраструктурой как кодом и поддержкой сервисов.
Библиотеки, формирующие экосистему Go
Стандартная библиотека
Go создавался по принципу «полный комплект из коробки», и стандартная библиотека Go — одно из главных достоинств языка, почти всегда достаточное для большинства задач. Разработчики опираются на неё, потому что она понятная, надёжная, безопасная, быстрая и проста в использовании. В культуре Go действует подход «stdlib прежде всего»: сторонние библиотеки подключают в основном ради удобства, а не из-за необходимости.
Тем не менее, по мере того как приложения на Go становятся более масштабными, развивается и экосистема: появляется набор широко используемых инструментов, которые зарекомендовали себя как надёжные и подходят для конкретных типов задач.
Популярные веб-фреймворки и роутеры
Давайте посмотрим, как изменилась популярность фреймворков и роутеров для Go с 2020 года.

Примечание: сумма превышает 100%, так как в вопросе можно было выбрать несколько ��ариантов.
Пакет net/http из стандартной библиотеки — самый распространённый выбор для маршрутизации у Go-разработчиков. Он стабилен и не требует внешних зависимостей.
В последние годы chi остаётся популярной альтернативой для создания HTTP-сервисов на Go. Его использование немного выросло с 2020 года и достигло примерно 12% разработчиков. chi — идиоматичный, лёгкий роутер, полностью совместимый с net/http, хорошо документированный и активно поддерживаемый.
gorilla/mux, когда-то самый популярный и мощный HTTP-роутер, был архивирован в 2023 году. После этого многие проекты мигрировали на chi или стандартную библиотеку — особенно после того, как Go 1.22 добавил маршрутизацию по шаблонам в http.ServeMux. К 2025 году 17% Go-разработчиков сообщили, что продолжают регулярно использовать gorilla/mux, по сравнению с 36% в 2020 году. Его доля всё ещё заметна благодаря легаси-проектам, но ожидается, что она будет снижаться и дальше.
Самые популярные веб-фреймворки Go в 2025 году — это Gin, Echo и Fiber.
Gin стабильно растёт: в 2025 году его используют почти половина разработчиков Go (48%) против 41% в 2020 году. Хотя единственного «лучшего» веб-фреймворка для Go не существует, Gin уверенно лидирует как один из самых быстрых, зрелых и часто рекомендуемых вариантов.
Fiber, появившийся в 2020 году с упором на скорость и простоту, тоже набирает популярность. Сейчас его используют 11% Go-разработчиков — почти столько же, сколько Echo (16%), и больше, чем Beego (4%), чья популярность продолжает снижаться.
Фреймворки для тестирования и инструменты для измерения производительности
В Go существует сильная культура тестирования и бенчмаркинга, основанная на философии языка: тестирование должно быть простым, единообразным и естественной частью повседневной разработки, а не чем-то второстепенным. Эта философия отражена прямо в языке: в стандартную библиотеку входит пакет testing, который поддерживает модульные тесты, бенчмарки, примеры и фаззинг. От разработчиков Go ожидается, что они будут профилировать и измерять производительность с помощью встроенных инструментов вроде pprof.

Примечание: сумма превышает 100%, так как в вопросе можно было выбрать несколько вариантов.
Статистика подтверждает эту философию: встроенный пакет testing остаётся самым распространённым выбором для написания модульных тестов в Go. Однако для крупных или корпоративных проектов его возможностей часто недостаточно, что с 2020 года стимулирует рост фреймворков и библиотек вроде testify и gomock.
Testify расширяет стандартный пакет testing, делая тесты чище и легче читаемыми. Он подходит большинству проектов и сейчас используется 27% разработчиков.
gomock, предназначенный для мокирования интерфейсов и внешних сервисов, применяют около 21% Go-разработчиков.
Несколько других фреймворков для тестирования Go применяются реже, но оказываются полезными в специфических случаях. Ginkgo, который часто используют вместе с Gomega для выразительных матчеров, отлично подходит для BDD-тестирования. Поскольку эти инструменты требуют более сложной настройки, их обычно выбирают для крупных или сложных тестовых наборов. Использование Ginkgo остаётся стабильным с 2020 года — около 5%.
Godog — ещё один BDD-фреймворк, позволяющий писать тесты на человекопонятном синтаксисе Gherkin и связывать их с кодом Go. Godog особенно удобен для выравнивания понимания между разработчиками, QA и продуктовыми командами, а не для низкоуровневых модульных тестов. Хотя это не новый инструмент, с 2022 года он активно поддерживается организацией Cucumber на GitHub и набирает популярность: в 2025 году им пользуются примерно 4% Go-разработчиков.
Популярные библиотеки Open source
Ниже представлены самые широко используемые Open source-библиотеки для Go в 2025 году, сгруппированные по областям применения.
Бэкенд-сервисы
Логирование:
log/slog (структурированное логирование из стандартной библиотеки, начиная с Go 1.21) — естественный выбор для новых проектов с минимальными зависимостями.
logrus — структурированная библиотека для логирования, рекомендованная для проектов, которым нужно поддерживать версии Go ниже 1.21. Несмотря на то что она сейчас в режиме поддержки, logrus остаётся стабильной и широко применяемой.
zap и в меньшей степени zerolog популярны для высокопроизводительного логирования.
Базы данных:
database/sql (stdlib) предоставляет универсальный интерфейс для SQL- (или SQL-подобных) баз данных.
sqlx добавляет удобства поверх database/sql. Он не привязан к конкретному драйверу и особенно удобен, когда используются несколько баз данных.
pgx работает исключительно с Postgres и часто выбирается ради полноценной поддержки PostgreSQL и высокой производительности.
ORM-библиотеки, такие как GORM, ent и другие, помогают связывать Go-структуры с таблицами в базе, позволяя работать с БД в более объектно-ориентированном или декларативном стиле. Они подходят для проектов с плотной абстракцией (миграции, моделирование схем и т.п.).
Конфигурации:
Валидация:
CLI-приложения
cobra — самая широко используемая библиотека для создания CLI-приложений на Go с командами, флагами и автоматической справкой. Она отлично подходит для сложных CLI с множеством подкоманд — инструментов для разработчиков, скриптов автоматизации и админских утилит — и используется во многих популярных Go-инструментах, таких как kubectl и helm.
urfave/cli проста в освоении и хорошо подходит для однокомандных или небольших CLI-утилит, так как генерирует понятную справку и вывод по использованию. Чаще всего её выбирают для лёгких CLI или как замену DevOps-/вспомогательных скриптов.
bubbletea — современный TUI-фреймворк (текстовый интерфейс), который используют для создания интерактивных и визуальных CLI-приложений: меню, дашбордов, индикаторов прогресса и многого другого.
Kubernetes
k8s.io/client-go — официальная клиентская библиотека на Go для Kubernetes API, предоставляющая clientsets, динамический клиент, discovery, информеры, листеры, REST и аутентификацию.
sigs.k8s.io/controller-runtime — надстройка над client-go, предоставляющая менеджер, reconciler, кеши и поддержку вебхуков.
Operator Framework — высокоуровневый фреймворк для создания операторов Kubernetes на Go. Он использует controller-runtime под капотом и помогает генерировать код, шаблоны и заготовки CRD (custom resource definition).
sigs.k8s.io/kubebuilder — фреймворк для построения API и операторов Kubernetes с использованием CRD.
IDE и среды разработки

Данные показывают, что GoLand, IDE от JetBrains, по-прежнему остаётся наиболее предпочтительным инструментом для разработки на Go: 47% участников опроса назвали его своим основным IDE или редактором. Около 6% Go-разработчиков используют IntelliJ IDEA с плагином Go, главным образом благодаря поддержке нескольких языков в одном окружении.
Доля использования VS Code в последнее время остаётся стабильной, тогда как общее использование редакторов немного выросло. Neovim набирает популярность как современный, расширяемый Open source-преемник Vim. После прекращения разработки Atom в 2022 году его ключевые контрибьюторы представили Zed — Open source-редактор с высокой производительностью, написанный на Rust. Доля других редакторов, применяемых для разработки на Go, практически не изменилась и остаётся минимальной.
Самые заметные изменения связаны со стремительным ростом LLM и повышающимся спросом на AI-ассистентов для написания кода. В 2025 году 6% Go-разработчиков назвали Cursor — AI-редактор на базе VS Code, появившийся в 2023 году, — своей основной средой разработки.
AI-ассистенты для программирования
Инструменты для написания кода с поддержкой AI существенно повлияли на рабочие процессы Go-разработчиков. По данным опроса, в среднем Go-разработчики начали использовать AI раньше, чем их коллеги на других языках, и продолжают применять его более активно в повседневных задачах. Сейчас более 70% специалистов, пишущих на Go, сообщают, что регулярно используют как минимум одного AI-ассистента, агента или редактор с поддержкой AI.
Высокий уровень распространённости во многом объясняется особенностями самого языка. Даже базовое автодополнение и генерация тестов на основе AI дают ощутимую пользу при работе с шаблонным кодом в Go. Простота, структурированность и предсказуемость Go делают его особенно удобным для генерации кода LLM-моделями.
Ниже перечислены самые популярные AI-ассистенты, агенты и редакторы с поддержкой AI, которые активно используют Go-разработчики в 2025 году.

Примечание. В этом вопросе можно было выбрать несколько вариантов. Результаты отфильтрованы так, чтобы учитывать только тех участников, которые указали Go как свой основной язык программирования. В таблицу включены только те инструменты, которыми регулярно пользуются более 3% респондентов. Рынок AI-агентов развивается очень быстро; приведённые данные были собраны в период с апреля по июнь 2025 года.
Линтинг и статический анализ
Экосистема инструментов Go известна своей отличной поддержкой статического анализа и линтинга. Помимо встроенных средств из стандартного набора Go, в профессиональных проектах широко применяются и внешние инструменты.
Golangci-lint стал де-факто стандартным объединяющим инструментом для запуска линтеров как в CI/CD-конвейерах, так и локально. Он запускает линтеры параллельно, использует кеширование для ускорения и обладает высокой настраиваемостью.
По умолчанию в него входит более ста линтеров, среди которых популярные инструменты вроде gosec, govet, revive, errcheck, ineffassign и staticcheck (подмножество правил). Многие команды предпочитают запускать их именно через golangci-lint.
Golangci-lint также интегрируется со всеми основными IDE, что поддерживает подход «shift-left». Например, GoLand имеет встроенную поддержку golangci-lint: он запускает проверки golangci-lint в реальном времени по мере написания кода и помогает находить проблемы как можно раньше.
Другой примечательный инструмент — nilaway, созданный для обнаружения потенциальных panic из-за nil в Go-коде. Он предназначен для офлайн-использования в терминале или CI/CD-конвейере. Для более раннего выявления таких ошибок на этапе разработки GoLand предлагает межпроцедурный анализ для обнаружения разыменования nil-указателей. Детектор разыменования nil-указателей основан на анализе потоков данных и оптимизирован для инкрементального и «ленивого» выполнения, реагируя на изменения в коде в реальном времени прямо в редакторе.
Русскоязычное Go сообщество

Друзья! Эту статью подготовила команда «Go for Devs» — сообщества, где мы делимся практическими кейсами, инструментами для разработчиков и свежими новостями из мира Go. Подписывайтесь, чтобы быть в курсе и ничего не упустить!