Junior — Middle
Qual è lo scopo principale di una struttura dati vuota?
sobes.tech AI
Risposta dell'AI
La struttura vuota in Go (struct{}) non contiene campi e occupa 0 byte di memoria. La funzione principale di questa struttura è fungere da marcatore o flag, quando è importante il fatto che il valore esista, e non il suo contenuto. Ad esempio, viene spesso usata come valore in una map per implementare un insieme (set), dove le chiavi sono gli elementi dell'insieme e i valori sono strutture vuote per risparmiare memoria.
Esempio di utilizzo di una struttura vuota per un insieme:
set := make(map[string]struct{})
set["mela"] = struct{}{}
set["banana"] = struct{}{}
if _, exists := set["mela"]; exists {
fmt.Println("La mela è nell'insieme")
}
In questo modo, la struttura vuota aiuta a rappresentare collezioni in modo efficiente senza dati duplicati.