我有两个 struct ,它们具有相同的字段名和类型:
type JOURNAL_TAG struct {
DATE_START time.Time
DATE_END time.Time
ENTRY_NUMBER uint
VALUE float64
}
type INVENTORY_TAG struct {
DATE_START time.Time
DATE_END time.Time
PRICE float64
QUANTITY float64
ACCOUNT_NAME string
}
我有一个func,可以访问公共字段DATE_START
,它应该对这些类型的切片进行排序:
func sort_by_time[t JOURNAL_TAG|INVENTORY_TAG](slice []t, is_ascending bool) {
sort.Slice(slice, func(i, j int) bool {
return slice[i].DATE_START.After(slice[j].DATE_START) == is_ascending
})
}
运行go build
会报告编译器错误:
slice[i].DATE_START undefined (type t has no field or method DATE_START)
我想用泛型对这两种类型的切片进行排序,可以吗?
我用的是围棋1.18.