Go · Essencial · Inglês · Técnico
zero value
Valor padrão que toda variável recebe quando é declarada sem inicializar: 0 para números, false para bool, string vazia, nil para ponteiros, slices, maps e interfaces.
Onde usar
Em Go não existe variável sem valor definido, então 'var n int' vale 0. Bons designs deixam o zero value útil, como sync.Mutex e bytes.Buffer, que funcionam sem construtor.
Em código
var n int
var s string
var p *int
var m map[string]int
fmt.Println(n, s == "", p == nil, m == nil)Exemplos
Make the zero value of this struct useful.
Faça o zero value dessa struct ser útil.
A missing key returns the zero value, not an error.
Uma chave ausente devolve o zero value, não um erro.
Cuidado
Zero value não é sinônimo de nil: só ponteiros, slices, maps, canais, funções e interfaces têm nil como zero value.
Sinônimos
valor zero