Junior — Middle
Aké operácie sú povolené pri práci s nil slice v programovacom jazyku?
sobes.tech AI
Odpoveď od AI
V Go je nil-slice rez, ktorý neukazuje na žiadne pole a má dĺžku a kapacitu rovnakú nulu. Nasledujúce operácie sú povolené:
- Čítanie dĺžky a kapacity:
len(nilSlice) == 0,cap(nilSlice) == 0. - Pridávanie prvkov pomocou
append, čo vytvorí nový rez s pridelenou pamäťou. - Prechádzanie nil-rezu v cykle
for range— cyklus sa jednoducho nevykoná.
Nie je možné:
- Prístup k prvkom podľa indexu, napríklad
nilSlice[0]spôsobí panic.
Príklad:
var s []int // nil-rez
fmt.Println(len(s)) // 0
s = append(s, 1) // teraz s nie je nil
fmt.Println(s) // [1]