Go · Intermediário · Português · Técnico
função init
Função especial chamada init, sem parâmetros nem retorno, executada automaticamente uma vez por pacote antes de main, depois da inicialização das variáveis do pacote.
Onde usar
Serve para registrar drivers ou preparar estado do pacote. Ela dificulta testes e esconde efeitos colaterais, por isso muitos times preferem inicialização explícita.
Em código
var base = 10 // inicializada antes do init
func init() {
fmt.Println("init", base)
}
func main() { fmt.Println("main") }Exemplos
O driver se registra na função init do pacote.
Evite lógica pesada na init, porque ela roda antes do main e dificulta o teste.
Cuidado
Não pode ser chamada nem referenciada pelo código, e um mesmo pacote pode ter várias funções init em arquivos diferentes.
Sinônimos
init