Sobes.tech
Junior — Middle

A cosa può servire il valore in una mappa se sono importanti solo le chiavi?

sobes.tech AI

Risposta dell'AI

In Go, se sono importanti solo le chiavi in una mappa, il valore (value) può essere una struttura vuota struct{}. Questo permette di risparmiare memoria, poiché una struttura vuota non occupa spazio. Questo approccio è spesso usato per implementare insiemi (set), dove conta solo la presenza della chiave.

Esempio:

set := make(map[string]struct{})
set["mela"] = struct{}{}
set["banana"] = struct{}{}

// Controllo della presenza della chiave
if _, exists := set["mela"]; exists {
    fmt.Println("la mela è nel set")
}

In questo modo, il valore funge semplicemente da marcatore di presenza della chiave senza ulteriore carico di memoria.