Основные паттерны делятся на три группы. Порождающие: Singleton (единственный экземпляр), Factory (создание объектов через интерфейс), Builder (пошаговое конструирование). Структурные: Adapter (совместимость интерфейсов), Decorator (добавление поведения), Facade (упрощённый интерфейс). Поведенческие: Strategy (взаимозаменяемые алгоритмы), Observer (подписка на события), Iterator.
В Go чаще всего встречаются: Functional Options (для конфигурации), Strategy через интерфейсы, Middleware (цепочка обработчиков), и Fan-out/Fan-in для конкурентной обработки. Классические паттерны GoF адаптируются под идиомы Go — композицию и интерфейсы вместо наследования.