Junior — Middle
Come si può implementare una struttura dati Set nel linguaggio Go?
sobes.tech AI
Risposta dell'AI
Nel linguaggio Go non esiste un tipo Set incorporato, ma può essere implementato usando una mappa (map) con chiavi del tipo desiderato e valore bool o una struttura vuota struct{}. Ad esempio, un insieme di stringhe può essere fatto così:
package main
import "fmt"
func main() {
set := make(map[string]struct{})
// Aggiunta di elementi
set["apple"] = struct{}{}
set["banana"] = struct{}{}
// Controllo della presenza di un elemento
if _, exists := set["apple"]; exists {
fmt.Println("apple è nel set")
}
// Rimozione di un elemento
delete(set, "banana")
// Iterare sugli elementi
for key := range set {
fmt.Println(key)
}
}
L'uso di una struttura vuota struct{} al posto di bool risparmia memoria, poiché occupa 0 byte.