Quelle est la manière la plus simple de trier une slice de structures par un champ arbitraire en Go ?
Bonjour à tous ! Je suis débutant en Go et je n'arrive pas à comprendre le tri des slices de structures. Supposons que j'ai ce code :
```go
type Person struct {
Name string
Age int
}
people := []Person{
{"Alice", 30},
{"Bob", 25},
{"Charlie", 35},
}
```
Je veux trier cette slice par le champ `Name` (dans l'ordre alphabétique). Ensuite, peut-être par le champ `Age` (par ordre croissant). Dans d'autres langages (par exemple, en Python), je passerais simplement une clé de tri : `sorted(people, key=lambda p: p.name)`. Mais en Go, je vois qu'il faut écrire un type séparé, implémenter l'interface `sort.Interface` avec trois méthodes — `Len()`, `Less()`, `Swap()`. C'est très verbeux !
Existe-t-il une manière plus courte et élégante de faire cela ? Peut-être une fonction intégrée ou un package qui permet de simplement spécifier le nom du champ ? Ou suis-je condamné à écrire 10 lignes de code pour chaque tri ? Merci d'avance pour votre aide !
<<>>