Sobes.tech
Junior — Middle

Aké vstavané funkcie a operácie sú povolené pre slice, ktorý ešte nebol inicializovaný?

sobes.tech AI

Odpoveď od AI

V jazyku Go môže byť slice, ktorý nebol inicializovaný (t.j. je rovný nil), použitý na nasledovné operácie:

  • Kontrola na nil: if slice == nil {}
  • Získanie dĺžky a kapacity: len(slice) a cap(slice) vrátia 0
  • Pridávanie prvkov pomocou append, napríklad:
var s []int // nil-slice
s = append(s, 1, 2, 3) // teraz je slice inicializovaná a obsahuje prvky

Nedá sa však pristupovať k prvkom podľa indexu, napríklad s[0], ak je slice nil alebo prázdna — to spôsobí panic.