Sobes.tech
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.