Sobes.tech
Junior — Middle

Kako implementirati strukturu podataka Set u jeziku Go?

sobes.tech АИ

Одговор од АИ

U jeziku Go ne postoji ugrađeni tip Set, ali se može implementirati pomoću mape (map) sa ključevima željenog tipa i vrednošću bool ili praznom strukturom struct{}. Na primer, skup nizova može se napraviti ovako:

package main

import "fmt"

func main() {
    set := make(map[string]struct{})

    // Dodavanje elemenata
    set["apple"] = struct{}{}
    set["banana"] = struct{}{}

    // Provera da li element postoji
    if _, exists := set["apple"]; exists {
        fmt.Println("jabuka je u skupu")
    }

    // Brisanje elementa
    delete(set, "banana")

    // Iteracija kroz elemente
    for key := range set {
        fmt.Println(key)
    }
}

Korišćenje prazne strukture struct{} umesto bool štedi memoriju, jer zauzima 0 bajtova.