Sobes.tech
Junior — Middle

Μπορεί να θεωρηθεί ότι μια κενή συλλογή είναι ίση με την τιμή Nil στον προγραμματισμό;

sobes.tech AI

Απάντηση από AI

Στο Go, μια κενή συλλογή (π.χ. ένα κενό slice ή map) δεν είναι ίση με το nil. Το nil σημαίνει την απουσία τιμής ή αρχικοποίησης, ενώ μια κενή συλλογή είναι ένα αρχικοποιημένο αντικείμενο με μηδέν στοιχεία.

Παράδειγμα:

var s []int       // s == nil
s = []int{}        // s != nil, αλλά len(s) == 0

fmt.Println(s == nil)       // true για την πρώτη περίπτωση
fmt.Println(len(s) == 0)    // true και στις δύο περιπτώσεις

Επομένως, μια κενή συλλογή δεν μπορεί να θεωρηθεί ίση με το nil, αν και δεν περιέχει στοιχεία.