РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
239 of 1593 menu

Функция sort.Reverse

Функция sort.Reverse возвращает объект, который реализует интерфейс sort.Interface и позволяет сортировать слайс в обратном порядке по отношению к переданному компаратору. В параметр функция принимает объект, реализующий интерфейс sort.Interface, который определяет порядок сортировки.

Синтаксис

sort.Reverse(sort.Interface)

Функция не изменяет исходный слайс напрямую, а возвращает новый объект, который можно передать в функцию sort.Sort.

Пример

Давайте отсортируем слайс строк в обратном алфавитном порядке:

package main import ( "fmt" "sort" ) func main() { slice := []string{"a", "b", "c", "d", "e"} sort.Sort(sort.Reverse(sort.StringSlice(slice))) fmt.Println(slice) }

Результат выполнения кода:

[e d c b a]

Пример

Давайте отсортируем слайс чисел в обратном порядке:

package main import ( "fmt" "sort" ) func main() { slice := []int{1, 2, 3, 4, 5} sort.Sort(sort.Reverse(sort.IntSlice(slice))) fmt.Println(slice) }

Результат выполнения кода:

[5 4 3 2 1]

Пример

Давайте используем функцию sort.Reverse с пользовательским типом, реализующим интерфейс sort.Interface:

package main import ( "fmt" "sort" ) type Person struct { Name string Age int } type ByAge []Person func (a ByAge) Len() int { return len(a) } func (a ByAge) Less(i, j int) bool { return a[i].Age < a[j].Age } func (a ByAge) Swap(i, j int) { a[i], a[j] = a[j], a[i] } func main() { people := []Person{ {"Alice", 25}, {"Bob", 30}, {"Charlie", 20}, } sort.Sort(sort.Reverse(ByAge(people))) fmt.Println(people) }

Результат выполнения кода:

[{Bob 30} {Alice 25} {Charlie 20}]

Смотрите также

  • функцию sort.Sort,
    которая выполняет сортировку слайса
  • функцию sort.Ints,
    которая сортирует слайс чисел по возрастанию
  • функцию sort.Strings,
    которая сортирует слайс строк по алфавиту
  • функцию sort.Slice,
    которая сортирует слайс с пользовательской функцией сравнения
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить