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.