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