В Go два способа. Современный: slices.SortFunc(users, func(a, b User) int { return cmp.Compare(a.Age, b.Age) }). Старый: sort.Slice(users, func(i, j int) bool { return users[i].Age < users[j].Age }). Для стабильной сортировки — slices.SortStableFunc или sort.SliceStable. Сложность O(n log n). Если надо по нескольким полям — сравниваешь первое, при равенстве второе. Интерфейс sort.Interface (Len, Less, Swap) тоже работает, но sort.Slice проще.
Как отсортировать структуры по полю?
Junior
340 просмотровAFK Offer AI
Что такое stack allocation vs heap?