go语言【sort排序】

排序

使用go的sort进行排序,必须要实现三个方法:

Len

Less

Swap

package main
import (
"fmt"
"sort"
)
type Course struct {
Name string
Price int
Url string
}
type Courses []Course
func (c Courses) Len() int {
return len(c)
}
func (c Courses) Less(i, j int) bool {
return c[i].Price < c[j].Price
}
func (c Courses) Swap(i, j int) {
c[i], c[j] = c[j], c[i]
}
func main() {
//通过sort来排序
//让你写一个排序算法, 冒泡 插入 快速 归并 桶排序 算法本质是一样 比较 计数排序
//你的排序算法是否能应付各种类型的排序
courses := Courses{
Course{"django", 300, ""},
Course{"scrapy", 100, ""},
Course{"go", 400, ""},
Course{"torando", 200, ""},
}
sort.Sort(courses) //协议 你的目的不是要告诉别人具体的类型,重要的是你的类型必要提供具体的方法
for _, v := range courses {
fmt.Println(v)
}
//grpc
//go语言的包以及编码规范 包管理 1.12之前 go的没有包管理 python java maven go modules
}

 

posted @   wanghhhh  阅读(54)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话

阅读目录(Content)

此页目录为空

点击右上角即可分享
微信分享提示