GO语言"sort"包中"Slice"函数的用法及代码示例。
用法:
func Slice(x any, less func(i, j int) bool)
给定提供的 less 函数,Slice 对切片 x 进行排序。如果 x 不是切片,它会Panics。
排序不能保证是稳定的:相等的元素可能会从它们的原始顺序颠倒过来。对于稳定的排序,请使用SliceStable
less 函数必须满足与接口类型的 Less 方法相同的要求。
例子:
package main
import (
"fmt"
"sort"
)
func main() {
people := []struct {
Name string
Age int
}{
{"Gopher", 7},
{"Alice", 55},
{"Vera", 24},
{"Bob", 75},
}
sort.Slice(people, func(i, j int) bool { return people[i].Name < people[j].Name })
fmt.Println("By name:", people)
sort.Slice(people, func(i, j int) bool { return people[i].Age < people[j].Age })
fmt.Println("By age:", people)
}
输出:
By name: [{Alice 55} {Bob 75} {Gopher 7} {Vera 24}] By age: [{Gopher 7} {Vera 24} {Alice 55} {Bob 75}]
相关用法
- GO SliceStable用法及代码示例
- GO Sleep用法及代码示例
- GO Scanner.Scan用法及代码示例
- GO StreamWriter用法及代码示例
- GO Split用法及代码示例
- GO Server.Shutdown用法及代码示例
- GO StructTag.Lookup用法及代码示例
- GO SplitAfter用法及代码示例
- GO Sum256用法及代码示例
- GO SectionReader用法及代码示例
- GO Sin用法及代码示例
- GO Sprintf用法及代码示例
- GO Strings用法及代码示例
- GO SendMail用法及代码示例
- GO StructTag用法及代码示例
- GO Stmt用法及代码示例
- GO Sprint用法及代码示例
- GO SpecialCase用法及代码示例
- GO SectionReader.ReadAt用法及代码示例
- GO StructOf用法及代码示例
注:本文由纯净天空筛选整理自golang.google.cn大神的英文原创作品 Slice。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。