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.