Что такое пакет (package) в Go?

Intern
651 просмотров
AFK Offer AI

Пакет — единица организации кода. Каждый .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 это на уровне компилятора.

Следующий вопрос

MongoDB vs PostgreSQL?