Junior — Middle
¿Cómo se puede implementar una estructura de datos Set en el lenguaje Go?
sobes.tech AI
Respuesta de la IA
En el lenguaje Go no existe un tipo incorporado Set, pero se puede implementar usando un mapa (map) con claves del tipo deseado y valor bool o una estructura vacía struct{}. Por ejemplo, un conjunto de cadenas se puede hacer así:
package main
import "fmt"
func main() {
set := make(map[string]struct{})
// Añadir elementos
set["apple"] = struct{}{}
set["banana"] = struct{}{}
// Comprobar si un elemento existe
if _, exists := set["apple"]; exists {
fmt.Println("apple está en el conjunto")
}
// Eliminar un elemento
delete(set, "banana")
// Iterar sobre los elementos
for key := range set {
fmt.Println(key)
}
}
Usar una estructura vacía struct{} en lugar de bool ahorra memoria, ya que ocupa 0 bytes.