Avatar ·

¿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