Junior — Middle
Ako implementovať dátovú štruktúru Set v jazyku Go?
sobes.tech AI
Odpoveď od AI
V jazyku Go neexistuje vstavan typ Set, ale je možné ho implementovať pomocou mapy (map) s kľúčmi požadovaného typu a hodnotou bool alebo prázdnou štruktúrou struct{}. Napríklad množinu reťazcov možno vytvoriť takto:
package main
import "fmt"
func main() {
set := make(map[string]struct{})
// Pridanie prvkov
set["apple"] = struct{}{}
set["banana"] = struct{}{}
// Kontrola, či prvok existuje
if _, exists := set["apple"]; exists {
fmt.Println("jablko je v množine")
}
// Odstránenie prvku
delete(set, "banana")
// Prechádzanie prvkov
for key := range set {
fmt.Println(key)
}
}
Použitie prázdnej štruktúry struct{} namiesto bool šetrí pamäť, pretože zaberá 0 bajtov.