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