Junior — Middle
Kaip įgyvendinti duomenų struktūrą Set Go kalboje?
sobes.tech AI
Atsakymas iš AI
Go kalboje nėra įmontuoto Set tipo, tačiau jį galima įgyvendinti naudojant žemėlapį (map) su raktų tipu ir reikšme bool arba tuščia struktūra struct{}. Pavyzdžiui, eilutės rinkinį galima sukurti taip:
package main
import "fmt"
func main() {
set := make(map[string]struct{})
// Elementų pridėjimas
set["apple"] = struct{}{}
set["banana"] = struct{}{}
// Patikrinimas, ar elementas yra
if _, exists := set["apple"]; exists {
fmt.Println("obuolys yra rinkinyje")
}
// Elemento pašalinimas
delete(set, "banana")
// Elementų perėjimas
for key := range set {
fmt.Println(key)
}
}
Naudojant tuščią struktūrą struct{} vietoj bool taupo atmintį, nes ji užima 0 baitų.