Sobes.tech
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, შეიცავს ერთ ელემენტს

ელემენტებზე ინდექსით წვდომა შეუძლებელია, რადგან სლაისი ცარიელია და ეს გამოიწვევს პანიკას.