Ответ
Папка pkg (package) в Go-проекте — это общепринятая директория для хранения библиотечного кода, который может быть использован другими проектами или внутри самого проекта. Обычно там размещают код, не относящийся к бизнес-логике (например, утилиты, хелперы, клиенты API).
Пример структуры:
project/
├── cmd/
├── pkg/
│ ├── utils/
│ ├── client/
│ └── storage/
└── internal/
Важно:
- Не путать с
internal— там код, доступный только внутри проекта. - В
pkgкод должен быть хорошо документирован, так как он может использоваться внешними проектами.
Использование pkg необязательно, но помогает организовать код.