Sobes.tech
Junior — Middle

Milyen műveletek megengedettek nil szelettel való munkavégzéskor a programozási nyelvben?

sobes.tech MI

Válasz az MI-től

Go-ban a nil-slice olyan szelet, amely nem mutat semmilyen tömbre, és hossza valamint kapacitása nulla. A következő műveletek megengedettek:

  • A hossz és a kapacitás olvasása: len(nilSlice) == 0, cap(nilSlice) == 0.
  • Elem hozzáadása append-tel, ami egy új szeletet hoz létre lefoglalt memóriával.
  • Egy nil-szelet iterálása for range ciklusban — a ciklus egyszerűen nem fog lefutni.

Nem szabad:

  • Elemhez indexelni, például nilSlice[0] pánikot okoz.

Példa:

var s []int // nil-szelet
fmt.Println(len(s)) // 0
s = append(s, 1)    // most s nem nil
fmt.Println(s)      // [1]