Posts for: #Go

Toolset: Manage project-specific tools

TLDR

Toolset - менеджер инструментов разработки для Go проектов. Решает проблему “у меня работает, а в CI не собирается” через изоляцию и версионирование инструментов на уровне проекта.

Проблема: почему инструменты должны быть версионированы

Представьте ситуацию: вы пушите код, локально все тесты проходят, линтер молчит. Но в CI сборка падает с ошибкой линтера. Знакомо? Проблема в том, что у вас локально golangci-lint v1.59.0, а в CI - v1.62.0, и новая версия нашла проблему, которую старая пропускала.

Read more

Functional options in Go

Как управляться с обязательными и опциональными параметрами в конструкторах Golang

Read more