【Go语言入门学习笔记】Part20.排序

发布时间:2026/7/31 2:58:00
【Go语言入门学习笔记】Part20.排序 一、前言如同其他语言一样Go也内置了很好用的排序函数以及接口实现二、学习代码package main import ( fmt sort ) type SortLength []string // 实现以下三个方法即sort.Interface接口即可自定义排序 func (s SortLength) Len() int { return len(s) } func (s SortLength) Less(i, j int) bool { return len(s[i]) len(s[j]) //即长度小的在前面 } func (s SortLength) Swap(i, j int) { s[i], s[j] s[j], s[i] } func main() { nums : []int{7, 6, 3, 4, 5} sort.Ints(nums) //sort是针对内置数据类型原地排序 fmt.Println(nums) str : []string{aa, ac, abcd, e, d} //字典序升序排序 sort.Strings(str) fmt.Println(str) fmt.Println(sort.IntsAreSorted(nums)) //确定是否有序的函数 fmt.Println(sort.StringsAreSorted(str)) fmt.Println(sort.SearchInts(nums, 4)) //二分查找返回目标值的索引位置 fmt.Println(sort.SearchStrings(str, ac)) sort.Sort(SortLength(str)) //自定义排序 fmt.Println(str) }