type TDepartment struct {	Ctx          context.Context json:"-" db:"-"	DeptId       int64           json:"fdeptid" db:"fdeptid"	CorpId       int64           json:"fcorpid" db:"fcorpid"	ParentDeptId int64           json:"fparentdeptid" db:"fparentdeptid"	Sort         int32           json:"fsort" db:"fsort"	DeptName     string          json:"fdeptname" db:"fdeptname"	CreateTime   string          json:"fcreatetime" db:"fcreatetime"	ModifyTime   string          json:"fmodifytime" db:"fmodifytime"}type TDepartmentSlice []*TDepartment
func (p TDepartmentSlice) Len() int { return len(p) }
// 根据DeptId 排序func (p TDepartmentSlice) Less(i, j int) bool {	return p[i].DeptId < p[j].DeptId}func (p TDepartmentSlice) Swap(i, j int) { p[i], p[j] = p[j], p[i] }
type SortTDepartmentSliceByCreateTime struct {	TDepartmentSlice}
func (this SortTDepartmentSliceByCreateTime) Less(i, j int) bool {	t1,  := time.Parse("2006-01-02 15:04:05", this.TDepartmentSlice[i].CreateTime)	t2,  := time.Parse("2006-01-02 15:04:05", this.TDepartmentSlice[j].CreateTime)	return t1.Unix() < t2.Unix()}
//func (this TDepartmentSlice) Swap(i, j int) { this[i], this[j] = this[j], this[i] }
func main() {	t1 := TDepartment{		DeptId:     1,		CreateTime: "2019-08-10 15:11:12",	}	t2 := TDepartment{		DeptId:     2,		CreateTime: "2019-08-10 15:11:23",	}	t3 := TDepartment{		DeptId:     4,		CreateTime: "2019-08-18 15:11:12",	}	t4 := TDepartment{		DeptId:     3,		CreateTime: "2019-08-08 15:11:12",	}	penson := TDepartmentSlice{}	penson = append(penson, &t1, &t2, &t3, &t4)	for , v := range penson {		fmt.Println(fmt.Sprintf("deptId:%v.createTime:%v", v.DeptId, v.CreateTime))	}	sort.Sort(TDepartmentSlice(penson))	for , v := range penson {		fmt.Println(fmt.Sprintf("deptId:%v.createTime:%v", v.DeptId, v.CreateTime))	}	sort.Sort(SortTDepartmentSliceByCreateTime{penson})	for _, v := range penson {		fmt.Println(fmt.Sprintf("deptId:%v.createTime:%v",v.DeptId,v.CreateTime))	}}
评论