Sobes.tech
Junior — Middle

Je nil slice rovný slice, ktorý nebol výslovne inicializovaný?

sobes.tech AI

Odpoveď od AI

В Go слайс, который не был явно инициализирован, имеет значение nil. Это значит, что nil-слайс и неинициализированный слайс равны.

Пример:

var a []int       // неинициализированный слайс
var b []int = nil  // nil-слайс

fmt.Println(a == nil) // true
fmt.Println(b == nil) // true
fmt.Println(len(a))   // 0
fmt.Println(len(b))   // 0

Таким образом, nil-слайс и неинициализированный слайс в Go — это одно и то же: они не указывают на массив и имеют длину 0.