Junior — Middle
Ποιο είναι το μέγεθος μιας δομής δεδομένων χωρίς στοιχεία ή δεδομένα μέσα;
sobes.tech AI
Απάντηση από AI
Στη γλώσσα Go, μια δομή χωρίς πεδία (κενή δομή) καταλαμβάνει 0 bytes μνήμης. Είναι χαρακτηριστικό της γλώσσας: μια κενή δομή δεν περιέχει δεδομένα, επομένως το μέγεθός της είναι μηδέν.
Παράδειγμα:
package main
import (
"fmt"
"unsafe"
)
type Empty struct{}
func main() {
var e Empty
fmt.Println(unsafe.Sizeof(e)) // Θα εμφανίσει 0
}
Αυτό είναι χρήσιμο, για παράδειγμα, για τη δημιουργία ενός συνόλου (set) χρησιμοποιώντας έναν χάρτη map[Empty]struct{}, όπου η τιμή δεν καταλαμβάνει επιπλέον μνήμη.