Junior — Middle
È possibile creare una struttura o un tipo di dato simile a un insieme nel linguaggio Go?
sobes.tech AI
Risposta dell'AI
Nel linguaggio Go non esiste un tipo incorporato "insieme" (set), ma può essere implementato usando una mappa (map) con chiavi del tipo desiderato e valori di tipo struct{} o bool. L'uso di struct{} risparmia memoria, poiché la struttura vuota non occupa spazio.
Esempio di implementazione di un insieme di stringhe:
// Creiamo un insieme di stringhe
set := make(map[string]struct{})
// Aggiungiamo un elemento
set["apple"] = struct{}{}
// Controlliamo se un elemento esiste
if _, exists := set["apple"]; exists {
fmt.Println("L'elemento è nell'insieme")
}
// Rimuoviamo un elemento
delete(set, "apple")
In questo modo, una mappa con chiavi e valori vuoti modella efficacemente un insieme.