Junior — Middle
Számítási szempontból tekinthető-e az üres gyűjtemény a Nil értékének?
sobes.tech MI
Válasz az MI-től
Go-ban egy üres kollekció (például egy üres szelet vagy térkép) nem egyenlő a nil-lal. A nil az érték vagy inicializálás hiányát jelenti, míg egy üres kollekció egy inicializált objektum nulla elemmel.
Példa:
var s []int // s == nil
s = []int{} // s != nil, de len(s) == 0
fmt.Println(s == nil) // igaz az első esetben
fmt.Println(len(s) == 0) // mindkét esetben igaz
Ezért az üres kollekciót nem lehet egyenlőnek tekinteni a nil-lal, még akkor sem, ha nem tartalmaz elemeket.