Sobes.tech
Junior — Middle

Mit tartalmaz egy nem inicializált szelet egy programozási nyelvben?

sobes.tech MI

Válasz az MI-től

Go-ban a szelet egy olyan szerkezet, amely három mezőt tartalmaz: egy mutatót egy tömbre, egy hosszúságot (len) és egy kapacitást (capacity). Ha a szelet nincs inicializálva, azaz deklarálva van, de nem rendelnek hozzá értéket, akkor null értéket (nil) vesz fel.

Nem inicializált szelet:

  • A mutató nil.
  • A hossz és a kapacitás 0.

Példa:

var s []int
fmt.Println(s == nil) // true
fmt.Println(len(s))    // 0
fmt.Println(cap(s))    // 0

Ez a szelet nem mutat semmilyen tömbre, és nem tartalmaz elemeket. Biztonságosan használható műveletekben, például az append segítségével elemek hozzáadására, amely után a szelet automatikusan inicializálódik.