¿Cuál es la forma más sencilla de ordenar un slice de estructuras por un campo arbitrario en Go?
¡Hola a todos! Soy nuevo en Go y no puedo entender cómo ordenar slices de estructuras. Supongamos que tengo este código:
```go
type Person struct {
Name string
Age int
}
people := []Person{
{"Alice", 30},
{"Bob", 25},
{"Charlie", 35},
}
```
Quiero ordenar este slice por el campo `Name` (en orden alfabético). Luego, posiblemente por el campo `Age` (ascendente). En otros lenguajes (por ejemplo, en Python), simplemente pasaría la clave de ordenación: `sorted(people, key=lambda p: p.name)`. Pero en Go veo que necesito escribir un tipo separado, implementar la interfaz `sort.Interface` con tres métodos — `Len()`, `Less()`, `Swap()`. ¡Es muy verboso!
¿Hay una forma más corta y elegante de hacer esto? ¿Quizás alguna función incorporada o paquete que permita simplemente especificar el nombre del campo? ¿O estoy condenado a escribir 10 líneas de código para cada ordenación? ¡Gracias de antemano por la ayuda!
<<>>
Respuesta breve: use sort.Slice y funciones anónimas
No answers yet.
Inicia sesión para dejar una respuesta