Sobes.tech
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ů.