Sobes.tech
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.