Junior — Middle
Cum se poate implementa o structură de date Set în limbajul Go?
sobes.tech AI
Răspuns de la AI
În limbajul Go, nu există un tip Set încorporat, dar acesta poate fi implementat folosind o hartă (map) cu chei de tipul dorit și valoare bool sau o structură goală struct{}. De exemplu, un set de șiruri poate fi realizat astfel:
package main
import "fmt"
func main() {
set := make(map[string]struct{})
// Adăugarea elementelor
set["apple"] = struct{}{}
set["banana"] = struct{}{}
// Verificarea existenței unui element
if _, exists := set["apple"]; exists {
fmt.Println("apple este în set")
}
// Ștergerea unui element
delete(set, "banana")
// Parcurgerea elementelor
for key := range set {
fmt.Println(key)
}
}
Utilizarea unei structuri goale struct{} în loc de bool economisește memorie, deoarece ocupă 0 bytes.