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 է, պարունակում է մեկ տարր

Չի կարելի մուտք գործել տարրեր ըստ ինդեքսի, քանի որ սլայսը դատարկ է և դա կհանգեցնի panic-ի։