Junior — Middle
Co znamená nulová hodnota pro řez v programovacím jazyce?
sobes.tech AI
Odpověď od AI
V jazyce Go je řez (slice) dynamický pole, který obsahuje odkaz na pole, délku a kapacitu.
Hodnota nula řezů je nil. Takový řez neukazuje na žádné pole, jeho délka a kapacita jsou nulové.
Vlastnosti nulového řezů:
- Lze jej ověřit pomocí
slice == nil. - Pokus o přístup k jeho prvkům povede k panice.
- Lze jej použít jako prázdný řez, například k označení absence dat.
Příklad:
var s []int // s == nil
fmt.Println(s == nil) // true
fmt.Println(len(s)) // 0
fmt.Println(cap(s)) // 0
// Bezpečně lze inicializovat prázdný řez:
s = []int{}
fmt.Println(s == nil) // false
fmt.Println(len(s)) // 0
Tedy, nulová hodnota řezů je nil, což se liší od prázdného řezu, ale ne od nil řezu.