Пользователь
Может так?
package main import ( "fmt" "sort" ) type Change struct { user string language string lines int } var changes = []Change{ {"gri", "Go", 100}, {"ken", "C", 150}, {"glenda", "Go", 200}, {"rsc", "Go", 200}, {"r", "Go", 100}, {"ken", "Go", 200}, {"dmr", "C", 100}, {"r", "C", 150}, {"gri", "Smalltalk", 80}, } func main() { sort.Slice(changes, func(i, j int) bool { return (changes[i].user == changes[j].user && changes[i].lines < changes[j].lines) || changes[i].user < changes[j].user }) fmt.Println(changes) }
В нормальных языках это делается гораздо проще
Получается go тоже нормальный?
Может так?
Получается go тоже нормальный?