Junior — Middle
Какво се случва, ако създадете слайс с нулева стойност и какви операции са допустими с него?
sobes.tech AI
Отговор от AI
В Go, слайс с нулева стойност е nil слайс. Той не сочи към никакъв масив и има дължина и капацитет равни на нула.
Допустими операции с такъв слайс:
- Получаване на дължина и капацитет (
len(slice) == 0,cap(slice) == 0) - Итерация по слайса (цикълът просто няма да се изпълни)
- Добавяне на елементи чрез
append, което ще създаде нов слайс с заделена памет
Пример:
var s []int // nil слайс
fmt.Println(s == nil) // true
fmt.Println(len(s)) // 0
s = append(s, 1) // сега s не е nil, съдържа един елемент
Не е възможно да се достъпват елементи по индекс, тъй като слайсът е празен и това ще предизвика паника.