當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


GO Slice用法及代碼示例

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}]

相關用法


注:本文由純淨天空篩選整理自golang.google.cn大神的英文原創作品 Slice。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。