type table1 struct {
Date string
HallId string
FilmId string
Time string
Name string
}
type HeroSlice1 []table1
func main() {
var heroess HeroSlice1
heroes[0].Name = "123"
heroess1 := table1{
Date: "123",
HallId: "123",
FilmId: "123",
Time: "123",
Name: "123",
}
heroess = append(heroess, heroess1)//添加数据
heroes = heroes[1:]//删除第一个数据
}
//切片实现Interface 接口的三个方法
//1.Len() :返回切片的大小
func (hs HeroSlice1) Len() int {
return len(hs)
}
//2.Less(i, j int) :决定使用什么规则进行排序
func (hs HeroSlice1) Less(i, j int) bool {
return hs[i].Time < hs[j].Time // 按HeroSlice1的Time从小到大排序
//return hs[i].Name > hs[j].Name // 按HeroSlice1的Name从大到小排序
}
//3.Swap(i, j int) :Less(i, j int)返回true时进行交换
func (hs HeroSlice1) Swap(i, j int) {
hs[i], hs[j] = hs[j], hs[i]
}
import "sort"
//结构体实现了排序Interface接口,可以调用sort.Sort进行结构体排序
sort.Sort(heroes1)
fmt.Println("----------------------------------------------")
//看看排序后的顺序
for _, v := range heroes1 {
fmt.Println(v)
}
fmt.Println("----------------------------------------------")