«Сортировка Golang» относится к функциям сортировки, предоставляемым языком программирования Go. Go имеет встроенный пакет под названием «sort», который предлагает различные методы сортировки срезов и пользовательских коллекций. Ниже приведены некоторые часто используемые методы сортировки и примеры кода:
-
sort.Ints: этот метод сортирует фрагмент целых чисел в порядке возрастания.
package main import ( "fmt" "sort" ) func main() { numbers := []int{5, 2, 8, 3, 1} sort.Ints(numbers) fmt.Println(numbers) } -
sort.Strings: этот метод сортирует фрагмент строк в лексикографическом (словарном) порядке.
package main import ( "fmt" "sort" ) func main() { names := []string{"Alice", "Charlie", "Bob"} sort.Strings(names) fmt.Println(names) } -
sort.Float64s: этот метод сортирует фрагмент чисел float64 в порядке возрастания.
package main import ( "fmt" "sort" ) func main() { grades := []float64{85.5, 92.0, 78.3, 89.1} sort.Float64s(grades) fmt.Println(grades) } -
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{ {Name: "Alice", Age: 25}, {Name: "Bob", Age: 30}, {Name: "Charlie", Age: 20}, } sort.Sort(sort.Reverse(ByAge(people))) fmt.Println(people) }