Функция slices.Sort
Функция slices.Sort сортирует слайс любого типа, для которого определена операция сравнения (типы с упорядоченными значениями, такими как числа и строки). Она сортирует элементы слайса в порядке возрастания. Функция изменяет исходный слайс и не возвращает новый.
Синтаксис
slices.Sort(slice)
Пример с целыми числами
Давайте отсортируем слайс целых чисел в порядке возрастания:
package main
import (
"fmt"
"slices"
)
func main() {
numbers := []int{5, 2, 8, 1, 9, 3}
slices.Sort(numbers)
fmt.Println(numbers)
}
Результат выполнения кода:
[1 2 3 5 8 9]
Пример со строками
Давайте отсортируем слайс строк в алфавитном порядке:
package main
import (
"fmt"
"slices"
)
func main() {
words := []string{"banana", "apple", "cherry", "date"}
slices.Sort(words)
fmt.Println(words)
}
Результат выполнения кода:
[apple banana cherry date]
Пример с числами с плавающей точкой
Давайте отсортируем слайс чисел с плавающей точкой:
package main
import (
"fmt"
"slices"
)
func main() {
floats := []float64{3.14, 1.5, 2.7, 0.5, 9.8}
slices.Sort(floats)
fmt.Println(floats)
}
Результат выполнения кода:
[0.5 1.5 2.7 3.14 9.8]
Важные особенности
Функция slices.Sort изменяет исходный слайс, поэтому не требуется присваивать результат новой переменной. Она работает только с типами, которые поддерживают операторы сравнения (например, int, string, float64). Для сортировки слайсов с пользовательскими типами данных используется функция slices.SortFunc.
Функция не возвращает ошибку и всегда выполняет сортировку, даже если слайс уже отсортирован. В этом случае она просто проходит по слайсу без изменений.
Смотрите также
-
функцию
slices.SortFunc,
которая сортирует слайс с использованием пользовательской функции сравнения -
функцию
slices.IsSorted,
которая проверяет, отсортирован ли слайс -
функцию
slices.Reverse,
которая изменяет порядок элементов слайса на противоположный -
функцию
slices.Clone,
которая создает копию слайса