如下代码 package main
import ( “fmt” “sort” )
type Course struct { name string price int url string }
type Courses []Course
func (c Courses) len() int { return len? }
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{“a”, 300, “”}, Course{“b”, 200, “”}, Course{“c”, 100, “”}, Course{“d”, 400, “”}, } sort.Sort(courses) //类型不重要,协议重要 for _, v := range courses { fmt.Println(v) } }
|