ExpertiDict

Go · Avançado · Português · Técnico

pacote internal

/paˈkɔ.t͡ʃi ĩˈtɛʁ.nal/substantivo

Diretório chamado internal cujo código só pode ser importado por pacotes que estejam na árvore do diretório pai. O compilador impõe essa regra.

Onde usar

Usado para esconder detalhes de implementação de um módulo, impedindo que terceiros dependam deles. É a forma mais forte de encapsulamento entre pacotes.

Em código

meu-app/
  go.mod
  cmd/api/main.go
  internal/db/db.go  // só meu-app importa
  pkg/util/util.go   // qualquer um importa

Exemplos

Coloquei o acesso ao banco em internal para ninguém de fora importar.

O compilador recusou o import porque o pacote internal é de outro módulo.

Cuidado

Não confunda com identificador não exportado: internal restringe quem importa o pacote, e não os nomes dentro dele.

Sinônimos

diretório internal

Veja também

Todos os termos de Go