Sobes.tech
Junior — Middle

Čo znamená pre slice predvolená hodnota rovná nule a v čom spočíva jej podstata?

sobes.tech AI

Odpoveď od AI

V jazyku Go je rez (slice) štruktúra, ktorá obsahuje ukazovateľ na pole, dĺžku a kapacitu. Predvolená hodnota pre rez je nil, ale ak je rez inicializovaný ako prázdny, napríklad var s []int, jeho hodnota je nil, a dĺžka aj kapacita sú nulové.

Keď sa hovorí, že predvolená hodnota pre rez je nula, zvyčajne sa tým myslí, že dĺžka a kapacita rezu sú nulové a neukazuje na žiadne pole.

Podstatou je, že takýto rez neobsahuje žiadne prvky a nezaberá pamäť pre dáta, ale môže byť bezpečne použitý, napríklad na pridávanie prvkov pomocou append.

Príklad:

var s []int // s == nil, len(s) == 0, cap(s) == 0
s = append(s, 1) // teraz s obsahuje jeden prvok

Preto je predvolená hodnota rezu prázdny rez s dĺžkou 0, čo je vhodné na prácu bez ďalšej inicializácie.