Junior — Middle
Vai var izmantot nil vērtību kā iterācijas elementu kartē ciklā?
sobes.tech AI
Atbilde no AI
Go valodā vērtība nil nevar tikt izmantota kā iterācijas elements map ciklā, jo range pār map atgriež atslēgu un vērtību, un nil apzīmē vērtības neesamību.
Ja vērtība map ir norādītājs vai interfeiss, tā var būt nil, un tas ir normāli. Bet pats iterators nevar būt nil.
Piemērs:
m := map[string]*int{
"a": nil,
"b": new(int),
}
for k, v := range m {
ja v == nil {
fmt.Printf("atslēga %s satur nil vērtību\n", k)
} else {
fmt.Printf("atslēga %s satur vērtību %d\n", k, *v)
}
}
Šeit, v var būt nil, bet map pār range darbojas pareizi.