Golang sort 包详解
package main
import (
"fmt"
"sort"
)
func main() {
// 使用sort包进行排序
// 定义一个int切片
numbers := []int{7, 2, 4, 1, 3, 5, 9, 6, 8}
// 对int切片进行排序
sort.Ints(numbers)
// 打印排序后的切片
fmt.Println("Sorted int slice:", numbers)
// 对字符串切片进行排序
strings := []string{"banana", "apple", "mango", "cherry", "blueberry"}
sort.Strings(strings)
fmt.Println("Sorted string slice:", strings)
// 对自定义类型切片进行排序
type Person struct {
Name string
Age int
}
people := []Person{
{"Alice", 30},
{"Bob", 25},
{"Charlie", 35},
}
// 按年龄排序
sort.Slice(people, func(i, j int) bool {
return people[i].Age < people[j].Age
})
fmt.Println("Sorted person slice by Age:", people)
// 按名字排序
sort.Slice(people, func(i, j int) bool {
return people[i].Name < people[j].Name
})
fmt.Println("Sorted person slice by Name:", people)
}
这段代码展示了如何使用Go语言的sort
包进行不同类型的切片排序。sort.Ints
用于整型切片,sort.Strings
用于字符串切片,sort.Slice
用于自定义类型切片,并可以通过自定义排序函数实现自定义排序规则。
评论已关闭