Junior — Middle
Este posibil să creezi o structură sau un tip de date similar cu un set în limbajul Go?
sobes.tech AI
Răspuns de la AI
În limbajul Go, nu există un tip încorporat de "mulțime" (set), dar acesta poate fi implementat folosind o hartă (map) cu chei de tipul dorit și valori de tip struct{} sau bool. Utilizarea lui struct{} economisește memorie, deoarece structura goală nu ocupă spațiu.
Exemplu de implementare a unei mulțimi de șiruri:
// Creăm o mulțime de șiruri
set := make(map[string]struct{})
// Adăugăm un element
set["apple"] = struct{}{}
// Verificăm dacă un element există
if _, exists := set["apple"]; exists {
fmt.Println("Elementul există în mulțime")
}
// Ștergem un element
delete(set, "apple")
Astfel, o hartă cu chei și valori goale modelează eficient o mulțime.