go 使用 sort 對切片進行排序


golang對slice的排序

golang里面需要使用sort包,並且實現幾個接口Len, Swap, Less

sort 包排序demo

假如現在有個slice 叫做 ids 里面保存的數據類型是int32

package main

import (
	"fmt"
	"sort"
)

type Int32List []int32

func (s Int32List) Len() int           { return len(s) }
func (s Int32List) Swap(i, j int)      { s[i], s[j] = s[j], s[i] }
func (s Int32List) Less(i, j int) bool { return s[i] < s[j] }

func main() {
	var ids []int32
	ids = append(ids, 20, 50, 5, 100, 88)

	// 對ids 進行排序,這樣排序是in place 形式的.
	sort.Sort(Int32List(ids))
	fmt.Println(ids)
}
//out: [5 20 50 88 100]


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM