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, შეიცავს ერთ ელემენტს
ელემენტებზე ინდექსით წვდომა შეუძლებელია, რადგან სლაისი ცარიელია და ეს გამოიწვევს პანიკას.