Sobes.tech
Назад к вопросам
Junior — Middle
80

Является ли nil слайс равным слайсу, который не был явно инициализирован?

Компании, где спрашивали
Кадровое агентство BWG

Ответ от нейросети

sobes.tech 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.