Junior — Middle
Šta se dešava ako napravite slice sa nulnom vrednošću i koje operacije su dozvoljene sa njim?
sobes.tech АИ
Одговор од АИ
U Go, slice sa nuljnom vrednošću je nil slice. On ne ukazuje ni na kakav niz i ima dužinu i kapacitet jednako nuli.
Dozvoljene operacije sa takvim slice-om:
- Dobijanje dužine i kapaciteta (
len(slice) == 0,cap(slice) == 0) - Iteracija kroz slice (petlja se jednostavno neće izvršiti)
- Dodavanje elemenata putem
append, što će kreirati novi slice sa dodeljenom memorijom
Primer:
var s []int // nil slice
fmt.Println(s == nil) // true
fmt.Println(len(s)) // 0
s = append(s, 1) // sada s nije nil, sadrži jedan element
Nije moguće pristupiti elementima po indeksu, jer je slice prazan i to će izazvati paniku.