Junior — Middle
Kas notiek, ja izveidojat sagriezienu ar nulles vērtību un kādas operācijas ar to ir atļautas?
sobes.tech AI
Atbilde no AI
Go valodā, nulle vērtības sēne ir nil sēne. Tā nenorāda uz nevienu masīvu un tai ir garuma un ietilpības vienāda ar nulli.
Atļautās operācijas ar tādu sēni:
- Garuma un ietilpības iegūšana (
len(slice) == 0,cap(slice) == 0) - Iterācija pār sēni (cikls vienkārši netiks izpildīts)
- Elementu pievienošana ar
append, kas izveidos jaunu sēni ar piešķirtu atmiņu
Piemērs:
var s []int // nil sēne
fmt.Println(s == nil) // true
fmt.Println(len(s)) // 0
s = append(s, 1) // tagad s nav nil, satur vienu elementu
Nav iespējams piekļūt elementiem pēc indeksa, jo sēne ir tukša un tas izraisīs paniku.