gobyexample/sorting/sorting.go
2024-05-01 18:19:36 +05:30

37 lines
605 B
Go

package sorting
import (
"cmp"
"fmt"
"slices"
)
type Person struct {
name string
age uint
}
func Sorting() {
nums := []int{1, 3, 2, 5, 4}
slices.Sort(nums)
fmt.Printf("After sort: %v\n", nums)
fmt.Printf("Is nums sorted? %v\n", slices.IsSorted(nums))
slices.SortFunc(nums, func(a, b int) int {
return cmp.Compare(b, a)
})
fmt.Printf("After sorting with SortFunc: %v\n", nums)
peeps := []Person{
{"Jack", 30},
{"Depp", 32},
{"Markovich", 28},
}
slices.SortFunc(peeps, func(a, b Person) int {
return cmp.Compare(a.age, b.age)
})
fmt.Printf("Sorted by age: %v\n", peeps)
}