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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。