Sobes.tech
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{}, όπου η τιμή δεν καταλαμβάνει επιπλέον μνήμη.