Назад к вопросам
Junior — Middle
77
Что означает нулевое значение для среза в языке программирования?
Компании, где спрашивали
Digital Spirit
Ответ от нейросети
sobes.tech AI
В языке Go срез (slice) — это динамический массив, который содержит ссылку на массив, длину и ёмкость.
Нулевое значение среза — это nil. Такой срез не указывает ни на какой массив, его длина и ёмкость равны нулю.
Особенности нулевого среза:
- Его можно проверить через
slice == nil. - Попытка обратиться к элементам такого среза приведёт к панике.
- Его можно использовать как пустой срез, например, для обозначения отсутствия данных.
Пример:
var s []int // s == nil
fmt.Println(s == nil) // true
fmt.Println(len(s)) // 0
fmt.Println(cap(s)) // 0
// Можно безопасно инициализировать пустой срез:
s = []int{}
fmt.Println(s == nil) // false
fmt.Println(len(s)) // 0
Таким образом, нулевое значение среза — это nil, что отличается от пустого, но не nil среза.