如下代码
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)
}
}



