Sobes.tech
Junior — Middle

Da li je moguće kreirati strukturu ili tip podataka sličan skupu u jeziku Go?

sobes.tech АИ

Одговор од АИ

U jeziku Go ne postoji ugrađeni tip "skup" (set), ali se može implementirati pomoću mape (map) sa ključevima željenog tipa i vrednostima tipa struct{} ili bool. Korišćenje struct{} štedi memoriju, jer prazna struktura ne zauzima prostor.

Primer implementacije skupa nizova:

// Kreiramo skup nizova
set := make(map[string]struct{})

// Dodajemo element
set["apple"] = struct{}{}

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

// Uklanjamo element
delete(set, "apple")

Na ovaj način, mapa sa ključevima i praznim vrednostima efikasno modeluje skup.