Пакет — единица организации кода. Каждый .go файл начинается с package name. Все файлы в одной директории должны иметь одинаковый package name.
package utils
func FormatName(s string) string { ... }
Импорт по пути модуля:
import "github.com/myapp/internal/utils"
utils.FormatName("test")
Особые пакеты:
package main— точка входа, должен иметьfunc main()package xxx_test— внешние тесты, видят только экспортированные символы
internal/ — виден только родительскому модулю и его подпакетам. Go enforces это на уровне компилятора.