Go · Intermediário · Português · Técnico
slice nil
Slice sem array subjacente, com len e cap zero, que vale nil. É o zero value de um slice e funciona com len, range e append.
Onde usar
'var s []int' é nil e já pode receber append. Em APIs JSON, um slice nil vira null, e um slice vazio vira [].
Em código
var a []int
b := []int{}
fmt.Println(a == nil, b == nil)
a = append(a, 1)
fmt.Println(a, len(b))Exemplos
Pode deixar como slice nil, o append funciona do mesmo jeito.
A API devolveu null porque o slice estava nil, não vazio.
Cuidado
Slice nil e slice vazio ([]int{}) se comportam igual em quase tudo, mas só o nil é == nil.
Sinônimos
nil slice
Antônimos
slice vazio