Junior — Middle
Jak lze implementovat datovou strukturu Set v jazyce Go?
sobes.tech AI
Odpověď od AI
V jazyce Go neexistuje vestavěný typ Set, ale lze jej implementovat pomocí mapy (map) s klíči požadovaného typu a hodnotou bool nebo prázdnou strukturou struct{}. Například množinu řetězců lze vytvořit takto:
package main
import "fmt"
func main() {
set := make(map[string]struct{})
// Přidání prvků
set["apple"] = struct{}{}
set["banana"] = struct{}{}
// Kontrola existence prvku
if _, exists := set["apple"]; exists {
fmt.Println("jablko je v množině")
}
// Odstranění prvku
delete(set, "banana")
// Procházení prvků
for key := range set {
fmt.Println(key)
}
}
Použití prázdné struktury struct{} místo bool šetří paměť, protože zabírá 0 bajtů.