Avatar ·

Wie sortiert man am einfachsten einen Slice von Strukturen nach einem beliebigen Feld in Go?

Hallo zusammen! Ich bin neu in Go und komme mit der Sortierung von Slices von Strukturen nicht klar. Angenommen, ich habe diesen Code:\n\n```go\ntype Person struct {\n Name string\n Age int\n}\n\npeople := []Person{\n {"Alice", 30},\n {"Bob", 25},\n {"Charlie", 35},\n}\n```\n\nIch möchte diesen Slice nach dem Feld `Name` (alphabetisch) sortieren. Später vielleicht nach dem Feld `Age` (aufsteigend). In anderen Sprachen (z.B. Python) würde ich einfach einen Sortierschlüssel übergeben: `sorted(people, key=lambda p: p.name)`. Aber in Go muss ich anscheinend einen separaten Typ definieren, das Interface `sort.Interface` mit drei Methoden implementieren — `Len()`, `Less()`, `Swap()`. Das ist sehr umständlich!\n\nGibt es einen kürzeren und eleganteren Weg, das zu machen? Vielleicht eine eingebaute Funktion oder ein Paket, das es erlaubt?