Что за папка package в проекте

«Что за папка package в проекте» — вопрос из категории Golang, который задают на 23% собеседований Golang Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Папка pkg (package) в Go-проекте — это общепринятая директория для хранения библиотечного кода, который может быть использован другими проектами или внутри самого проекта. Обычно там размещают код, не относящийся к бизнес-логике (например, утилиты, хелперы, клиенты API).

Пример структуры:

project/  
├── cmd/  
├── pkg/  
│   ├── utils/  
│   ├── client/  
│   └── storage/  
└── internal/  

Важно:

  • Не путать с internal — там код, доступный только внутри проекта.
  • В pkg код должен быть хорошо документирован, так как он может использоваться внешними проектами.

Использование pkg необязательно, но помогает организовать код.