ExpertiDict

Go · Intermediário · Português · Técnico

slice nil

/ˈslajs ˈniw/substantivo

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

Veja também

Todos os termos de Go