Documentation
¶
Index ¶
- func ArrayToMap(data interface{}, tag string) interface{}
- func Column[T, R any](data []T, column string) []R
- func ColumnMacroRegister[T, R any](data []T, column string, handler ColumnMacroHandler[T, R])
- func ColumnMap[T any, K comparable, R map[K]T | map[K][]T](data []T, column string) R
- func ColumnMapMacroRegister[T any, K comparable, R map[K]T | map[K][]T](data []T, column string, handler ColumnMapMacroHandler[T, K, R])
- func Combine[L, R, LR any](leftData []L, rightData []R, combineFuctor func(L, R) LR) []LR
- func CombineMacroRegister[L, R, LR any](leftData []L, rightData []R, combineFuctor func(L, R) LR, ...)
- func Distinct[T any](data []T, columnNames string) []T
- func Group[T, E any, R *E | []E](data []T, groupType string, groupFunctor func([]T) E) R
- func GroupMacroRegister[T, E any, R *E | []E](data []T, groupType string, groupFunctor func([]T) E, ...)
- func InnerJoin[L, R, LR any](leftData []L, rightData []R, joinType string, joinFuctor func(L, R) LR) []LR
- func Join[L, R, LR any](leftData []L, rightData []R, joinPlace, joinType string, ...) []LR
- func JoinMacroRegister[L, R, LR any](leftData []L, rightData []R, joinPlace, joinType string, ...)
- func LeftJoin[L, R, LR any](leftData []L, rightData []R, joinType string, joinFuctor func(L, R) LR) []LR
- func MapToArray(data interface{}, target interface{}, tag string) error
- func Max[T Number](data []T) T
- func Min[T Number](data []T) T
- func OuterJoin[L, R, LR any](leftData []L, rightData []R, joinType string, joinFuctor func(L, R) LR) []LR
- func Reduce[T, R any](data []T, reduceFuctor func(R, T) R, resultReduce R) R
- func ReflectWarning(isWarning bool)
- func Reverse[T any](data []T) []T
- func RightJoin[L, R, LR any](leftData []L, rightData []R, joinType string, joinFuctor func(L, R) LR) []LR
- func Select[T, R any](data []T, selectFunctor func(a T) R) []R
- func SelectMacroRegister[T, R any](data []T, selectFunctor func(a T) R, handler SelectMacroHandler[T, R])
- func Sort[T any](data []T, sortType string) []T
- func SortInternal(length int, lessHandler func(i, j int) int, swapHandler func(i, j int))
- func SortMacroRegister[T any](data []T, sortType string, handler SortMacroHandler[T])
- func Sum[T Number](data []T) T
- func Where[T any](data []T, whereFuctor func(T) bool) []T
- func WhereMacroRegister[T any](data []T, whereFunctor func(T) bool, handler WhereMacroHandler[T])
- type ColumnMacroHandler
- type ColumnMapMacroHandler
- type CombineMacroHandler
- type GroupMacroHandler
- type JoinMacroHandler
- type Number
- type SelectMacroHandler
- type SortMacroHandler
- type WhereMacroHandler
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Column ¶
Column extract column from table
- First Argument:table
- Second Argument:column name result := query.Column(users, "UserID") userIDs := result.([]int)
func ColumnMacroRegister ¶
func ColumnMacroRegister[T, R any](data []T, column string, handler ColumnMacroHandler[T, R])
ColumnMacroRegister 注册
func ColumnMap ¶
func ColumnMap[T any, K comparable, R map[K]T | map[K][]T](data []T, column string) R
ColumnMap generate a map from table,key is column value and value is it's row
- First Argument:table
- Second Argument:column name result = query.ColumnMap(users, "UserID") userMap := result.(map[int]User)
func ColumnMapMacroRegister ¶
func ColumnMapMacroRegister[T any, K comparable, R map[K]T | map[K][]T](data []T, column string, handler ColumnMapMacroHandler[T, K, R])
ColumnMapMacroRegister 注册
func Combine ¶
func Combine[L, R, LR any](leftData []L, rightData []R, combineFuctor func(L, R) LR) []LR
Combine combine data from two table , one by one
- First Argument:left table
- Second Argument:right table
- Third Argument:combine rule result = query.Combine(admins, users, func(admin Admin, user User) AdminUser { return AdminUser{ AdminID: admin.AdminID, Level: admin.Level, Name: user.Name, CreateTime: user.CreateTime, } }) combine := result.([]AdminUser)
func CombineMacroRegister ¶
func CombineMacroRegister[L, R, LR any](leftData []L, rightData []R, combineFuctor func(L, R) LR, handler CombineMacroHandler[L, R, LR])
CombineMacroRegister 注册
func Distinct ¶
Distinct unique by column
result := query.Distinct([]User{}, "Name")
dis := result.([]User{})
func Group ¶
Group group data from table
- First Argument: left table
- Second Argument: group column name
- Third Argument: group rule result = query.Group(users, "UserID", func(users []User) Department { return Department{ Employees: users, } }) group := result.([]Department)
func GroupMacroRegister ¶
func GroupMacroRegister[T, E any, R *E | []E](data []T, groupType string, groupFunctor func([]T) E, handler GroupMacroHandler[T, E, R])
GroupMacroRegister 注册
func InnerJoin ¶
func InnerJoin[L, R, LR any](leftData []L, rightData []R, joinType string, joinFuctor func(L, R) LR) []LR
InnerJoin see LeftJoin
func Join ¶
func Join[L, R, LR any](leftData []L, rightData []R, joinPlace, joinType string, joinFuctor func(L, R) LR) []LR
Join see LeftJoin
func JoinMacroRegister ¶
func JoinMacroRegister[L, R, LR any](leftData []L, rightData []R, joinPlace, joinType string, joinFuctor func(L, R) LR, handler JoinMacroHandler[L, R, LR])
JoinMacroRegister 注册
func LeftJoin ¶
func LeftJoin[L, R, LR any](leftData []L, rightData []R, joinType string, joinFuctor func(L, R) LR) []LR
LeftJoin join data from two table,support LeftJoin,RightJoin,InnerJoin和OuterJoin
- First Argument: left table
- Second Argument: right table
- Third Argument: join condition
- Forth Argument: join rule result = query.LeftJoin(admins, users, "AdminID = UserID", func(admin Admin, user User) AdminUser { return AdminUser{ AdminID: admin.AdminID, Level: admin.Level, Name: user.Name, CreateTime: user.CreateTime, } }) join := result.([]AdminUser)
func MapToArray ¶
MapToArray 映射转数组
func Max ¶
func Max[T Number](data []T) T
Max get max value from table. only support int, float32, float64 type
func Min ¶
func Min[T Number](data []T) T
Min get min value from table. only support int, float32, float64 type
func OuterJoin ¶
func OuterJoin[L, R, LR any](leftData []L, rightData []R, joinType string, joinFuctor func(L, R) LR) []LR
OuterJoin see LeftJoin
func Reduce ¶
func Reduce[T, R any](data []T, reduceFuctor func(R, T) R, resultReduce R) R
Reduce reduce from list to single
query.Reduce([]User{}, func(sum int, singleData User) int {
return 1
}, 0)
func Reverse ¶
func Reverse[T any](data []T) []T
Reverse reverse data in table
query.Reverse(
[]User{},
)
func RightJoin ¶
func RightJoin[L, R, LR any](leftData []L, rightData []R, joinType string, joinFuctor func(L, R) LR) []LR
RightJoin see LeftJoin
func Select ¶
func Select[T, R any](data []T, selectFunctor func(a T) R) []R
Select select data from table
- First Argument:table
- Second Argument:select rule result = query.Select(users, func(a User) Sex { if len(a.Name) >= 3 && a.Name[0:3] == "Man" { return Sex{IsMale: true} } return Sex{IsMale: false} }) sel := result.([]Sex)
func SelectMacroRegister ¶
func SelectMacroRegister[T, R any](data []T, selectFunctor func(a T) R, handler SelectMacroHandler[T, R])
SelectMacroRegister 注册器
func Sort ¶
Sort sort data from table,support multiple column,for Example: UserID desc,Age asc
- First Argument:table
- Second Argument:sort condition result = query.Sort(users, "UserID asc") sort := result.([]User)
func SortInternal ¶
SortInternal 排序
func SortMacroRegister ¶
func SortMacroRegister[T any](data []T, sortType string, handler SortMacroHandler[T])
SortMacroRegister 注册
func Sum ¶
func Sum[T Number](data []T) T
Sum get the sum of data. only support int, float32, float64 type
func Where ¶
Where filter data from table
- First Argument:table
- Second Argument:filter rule result = query.Where(users, func(a User) bool { if len(a.Name) >= 3 && a.Name[0:3] == "Man" { return true } return false }) where := result.([]User)
func WhereMacroRegister ¶
func WhereMacroRegister[T any](data []T, whereFunctor func(T) bool, handler WhereMacroHandler[T])
WhereMacroRegister 注册器
Types ¶
type ColumnMacroHandler ¶
ColumnMacroHandler 扩展类函数 QueryColumn
type ColumnMapMacroHandler ¶
type ColumnMapMacroHandler[T any, K comparable, R map[K]T | map[K][]T] func(data []T, column string) R
ColumnMapMacroHandler 扩展类函数 QueryColumnMap
type CombineMacroHandler ¶
type CombineMacroHandler[L, R, LR any] func(leftData []L, rightData []R, combineFuctor func(L, R) LR) []LR
CombineMacroHandler 扩展累函数 QueryCombine
type GroupMacroHandler ¶
type GroupMacroHandler[T, E any, R *E | []E] func(data []T, groupType string, groupFunctor func([]T) E) R
GroupMacroHandler 基础类函数 QueryGroup
type JoinMacroHandler ¶
type JoinMacroHandler[L, R, LR any] func(leftData []L, rightData []R, joinPlace, joinType string, joinFuctor func(L, R) LR) []LR
JoinMacroHandler 基础类函数QueryJoin
type SelectMacroHandler ¶
type SelectMacroHandler[T, R any] func(data []T, selectFunctor func(a T) R) []R
SelectMacroHandler 基础类函数QuerySelect
type SortMacroHandler ¶
SortMacroHandler 处理器
type WhereMacroHandler ¶
WhereMacroHandler 基础类函数QueryWhere