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 rangeciklusban — 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]