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.