在线文档  >   Golang练习   >   排序

Go的sort 包实现了内置类型和用户定义类型的排序。我们先看一下内置类型的排序。

package main

import (
    "fmt"
    "sort"
)

func main() {

    // 排序方法针对内置类型是特定的;这里是一个字符串排序的例子。
    // 请注意,排序是原地进行的,因此它会改变给定的 slice 而不返回一个新的 slice 。
    strs := []string{"c", "a", "b"}
    sort.Strings(strs)
    fmt.Println("Strings:", strs)

    // 一个int排序的例子
    ints := []int{7, 2, 4}
    sort.Ints(ints)
    fmt.Println("Ints:   ", ints)

    // 我们也可以使用`sort`来检查一个 slice 是否已经按顺序排列。
    s := sort.IntsAreSorted(ints)
    fmt.Println("Sorted: ", s)
}

运行结果如下:

$ go run sorting.go
Strings: [a b c]
Ints:    [2 4 7]
Sorted:  true

运行我们的程序会打印排序的字符串和 int 切片以及 ‘true’ 作为我们的 ‘AreSorted’ 测试的结果。