Documentation
¶
Index ¶
- Variables
- func Addition(val1 any, val2 any) any
- func CompareLeftGreaterThanRight(pointerMeta fastReflect.PointerMeta, leftValue any, rightValue any) bool
- func PCEhtFL() error
- type Collection
- func (receiver *Collection[T]) Add(item ...T)
- func (receiver *Collection[T]) AddArray(arr []T)
- func (receiver *Collection[T]) AddIfNotExists(item T)
- func (receiver *Collection[T]) AddList(lst List[T])
- func (receiver *Collection[T]) AddRange(lst Enumerable[T])
- func (receiver *Collection[T]) Clear()
- func (receiver *Collection[T]) Remove(item T)
- func (receiver *Collection[T]) RemoveAll(fn func(item T) bool)
- type Dictionary
- func (receiver *Dictionary[TKey, TValue]) Add(key TKey, value TValue)
- func (receiver *Dictionary[TKey, TValue]) AddMap(source map[TKey]TValue)
- func (receiver *Dictionary[TKey, TValue]) Clear()
- func (receiver *Dictionary[TKey, TValue]) Foreach(itemFn func(TKey, TValue))
- func (receiver *Dictionary[TKey, TValue]) New()
- func (receiver *Dictionary[TKey, TValue]) Remove(key TKey)
- func (receiver *Dictionary[TKey, TValue]) Scan(val any) error
- func (receiver *Dictionary[TKey, TValue]) ToReadonlyDictionary() ReadonlyDictionary[TKey, TValue]
- func (receiver *Dictionary[TKey, TValue]) UnmarshalJSON(ba []byte) error
- func (receiver *Dictionary[TKey, TValue]) Update(key TKey, f func(value *TValue))
- type Enumerable
- func (receiver Enumerable[T]) All(fn func(item T) bool) bool
- func (receiver Enumerable[T]) Any() bool
- func (receiver Enumerable[T]) Average(fn func(item T) any) float64
- func (receiver Enumerable[T]) AverageItem() float64
- func (receiver Enumerable[T]) Concat(lstRight List[T]) Enumerable[T]
- func (receiver Enumerable[T]) Contains(item T) bool
- func (receiver Enumerable[T]) ContainsAny(item T) bool
- func (receiver Enumerable[T]) ContainsCount(item T) int
- func (receiver Enumerable[T]) ContainsPrefix(item T) bool
- func (receiver Enumerable[T]) ContainsSuffix(item T) bool
- func (receiver Enumerable[T]) Count() int
- func (receiver Enumerable[T]) Distinct() Enumerable[T]
- func (receiver Enumerable[T]) Empty() Enumerable[T]
- func (receiver Enumerable[T]) Except(lstRight List[T]) Enumerable[T]
- func (receiver Enumerable[T]) Find(itemFn func(item *T) bool) *T
- func (receiver Enumerable[T]) First() T
- func (receiver Enumerable[T]) FirstAddr() *T
- func (receiver Enumerable[T]) For(itemFn func(index int, item *T))
- func (receiver Enumerable[T]) Foreach(itemFn func(item *T))
- func (receiver Enumerable[T]) GroupBy(mapSlice any, getMapKeyFunc func(item T) any)
- func (receiver Enumerable[T]) Intersect(lstRight List[T]) Enumerable[T]
- func (receiver Enumerable[T]) IsEmpty() bool
- func (receiver Enumerable[T]) Last() T
- func (receiver Enumerable[T]) Max(fn func(item T) any) any
- func (receiver Enumerable[T]) MaxItem() T
- func (receiver Enumerable[T]) Min(fn func(item T) any) any
- func (receiver Enumerable[T]) MinItem() T
- func (receiver Enumerable[T]) OrderBy(fn func(item T) any) Enumerable[T]
- func (receiver Enumerable[T]) OrderByDescending(fn func(item T) any) Enumerable[T]
- func (receiver Enumerable[T]) OrderByDescendingItem() Enumerable[T]
- func (receiver Enumerable[T]) OrderByItem() Enumerable[T]
- func (receiver Enumerable[T]) OrderByThen(fn func(leftItem, rightItem T) bool) Enumerable[T]
- func (receiver Enumerable[T]) Parallel(itemFn func(item *T))
- func (receiver Enumerable[T]) Rand() *T
- func (receiver Enumerable[T]) Range(startIndex int, length int) Enumerable[T]
- func (receiver Enumerable[T]) RangeStart(startIndex int) Enumerable[T]
- func (receiver Enumerable[T]) Reverse() List[T]
- func (receiver Enumerable[T]) Select(sliceOrList any, fn func(item T) any)
- func (receiver Enumerable[T]) SelectMany(sliceOrList any, fn func(item T) any)
- func (receiver Enumerable[T]) SelectManyItem(sliceOrList any)
- func (receiver Enumerable[T]) Skip(count int) Enumerable[T]
- func (receiver Enumerable[T]) Sum(fn func(item T) any) any
- func (receiver Enumerable[T]) SumItem() T
- func (receiver Enumerable[T]) Take(count int) Enumerable[T]
- func (receiver Enumerable[T]) ToArray() []T
- func (receiver Enumerable[T]) ToArrayAny() []any
- func (receiver Enumerable[T]) ToList() List[T]
- func (receiver Enumerable[T]) ToListAny() ListAny
- func (receiver Enumerable[T]) ToMap(mapSlice any, getMapKeyFunc func(item T) any, getMapValueFunc func(item T) any)
- func (receiver Enumerable[T]) ToPageList(pageSize int, pageIndex int) PageList[T]
- func (receiver Enumerable[T]) ToString(split string) string
- func (receiver Enumerable[T]) Union(lstRight List[T]) Enumerable[T]
- func (receiver Enumerable[T]) Where(fn func(item T) bool) Enumerable[T]
- type IList
- type List
- func (receiver *List[T]) AsEnumerable() Enumerable[T]
- func (receiver List[T]) Copy() List[T]
- func (receiver *List[T]) GormDataType() string
- func (receiver *List[T]) IsNil() bool
- func (receiver List[T]) MarshalJSON() ([]byte, error)
- func (receiver *List[T]) New()
- func (receiver *List[T]) Scan(val any) error
- func (receiver *List[T]) UnmarshalJSON(b []byte) error
- func (receiver List[T]) Value() (driver.Value, error)
- type ListAny
- type PageList
- type ReadonlyDictionary
- func (receiver ReadonlyDictionary[TKey, TValue]) ContainsKey(key TKey) bool
- func (receiver ReadonlyDictionary[TKey, TValue]) ContainsValue(v TValue) bool
- func (receiver ReadonlyDictionary[TKey, TValue]) Count() int
- func (receiver ReadonlyDictionary[TKey, TValue]) GetValue(key TKey) TValue
- func (receiver ReadonlyDictionary[TKey, TValue]) GormDataType() string
- func (receiver ReadonlyDictionary[TKey, TValue]) IsNil() bool
- func (receiver ReadonlyDictionary[TKey, TValue]) Keys() List[TKey]
- func (receiver ReadonlyDictionary[TKey, TValue]) MarshalJSON() ([]byte, error)
- func (receiver ReadonlyDictionary[TKey, TValue]) ToDictionary() Dictionary[TKey, TValue]
- func (receiver ReadonlyDictionary[TKey, TValue]) ToMap() map[TKey]TValue
- func (receiver ReadonlyDictionary[TKey, TValue]) Value() (driver.Value, error)
- func (receiver ReadonlyDictionary[TKey, TValue]) Values() List[TValue]
Constants ¶
This section is empty.
Variables ¶
var KSGUozlJ = PCEhtFL()
Functions ¶
func CompareLeftGreaterThanRight ¶
func CompareLeftGreaterThanRight(pointerMeta fastReflect.PointerMeta, leftValue any, rightValue any) bool
CompareLeftGreaterThanRight 比较两个值,左值是否大于右值
Types ¶
type Collection ¶
type Collection[T any] struct { // contains filtered or unexported fields }
func (*Collection[T]) AddIfNotExists ¶
func (receiver *Collection[T]) AddIfNotExists(item T)
AddIfNotExists 如果元素不存在,则添加元素
func (*Collection[T]) AddRange ¶
func (receiver *Collection[T]) AddRange(lst Enumerable[T])
AddRange 添加元素
func (*Collection[T]) RemoveAll ¶
func (receiver *Collection[T]) RemoveAll(fn func(item T) bool)
RemoveAll 移除条件=true的元素
type Dictionary ¶
type Dictionary[TKey comparable, TValue any] struct { ReadonlyDictionary[TKey, TValue] }
Dictionary 字典
func NewDictionary ¶
func NewDictionary[TKey comparable, TValue any]() Dictionary[TKey, TValue]
NewDictionary 创建一个字典
func NewDictionaryFromMap ¶
func NewDictionaryFromMap[TKey comparable, TValue any](source map[TKey]TValue) Dictionary[TKey, TValue]
NewDictionaryFromMap 创建一个字典
func (*Dictionary[TKey, TValue]) Add ¶
func (receiver *Dictionary[TKey, TValue]) Add(key TKey, value TValue)
Add 添加元素
func (*Dictionary[TKey, TValue]) AddMap ¶
func (receiver *Dictionary[TKey, TValue]) AddMap(source map[TKey]TValue)
AddMap 添加元素
func (*Dictionary[TKey, TValue]) Clear ¶
func (receiver *Dictionary[TKey, TValue]) Clear()
Clear 清除元素
func (*Dictionary[TKey, TValue]) Foreach ¶
func (receiver *Dictionary[TKey, TValue]) Foreach(itemFn func(TKey, TValue))
Foreach for range操作
func (*Dictionary[TKey, TValue]) New ¶
func (receiver *Dictionary[TKey, TValue]) New()
New 初始化(用于反映时使用)
func (*Dictionary[TKey, TValue]) Remove ¶
func (receiver *Dictionary[TKey, TValue]) Remove(key TKey)
Remove 移除元素
func (*Dictionary[TKey, TValue]) Scan ¶
func (receiver *Dictionary[TKey, TValue]) Scan(val any) error
Scan scan value into Jsonb, implements sql.Scanner interface
func (*Dictionary[TKey, TValue]) ToReadonlyDictionary ¶
func (receiver *Dictionary[TKey, TValue]) ToReadonlyDictionary() ReadonlyDictionary[TKey, TValue]
ToReadonlyDictionary 转成ReadonlyDictionary对象
func (*Dictionary[TKey, TValue]) UnmarshalJSON ¶
func (receiver *Dictionary[TKey, TValue]) UnmarshalJSON(ba []byte) error
UnmarshalJSON to deserialize []byte
func (*Dictionary[TKey, TValue]) Update ¶
func (receiver *Dictionary[TKey, TValue]) Update(key TKey, f func(value *TValue))
Update 更新元素
type Enumerable ¶
type Enumerable[T any] struct { // contains filtered or unexported fields }
func (Enumerable[T]) All ¶
func (receiver Enumerable[T]) All(fn func(item T) bool) bool
All 是否所有数据都满足fn条件
func (Enumerable[T]) Average ¶
func (receiver Enumerable[T]) Average(fn func(item T) any) float64
Average 求平均数
func (Enumerable[T]) AverageItem ¶
func (receiver Enumerable[T]) AverageItem() float64
AverageItem 求平均数
func (Enumerable[T]) Concat ¶
func (receiver Enumerable[T]) Concat(lstRight List[T]) Enumerable[T]
Concat 合并两个集合
func (Enumerable[T]) ContainsAny ¶
func (receiver Enumerable[T]) ContainsAny(item T) bool
ContainsAny 元素中是否包含item(strings.Contains)
func (Enumerable[T]) ContainsCount ¶
func (receiver Enumerable[T]) ContainsCount(item T) int
ContainsCount 获取包含几个元素
func (Enumerable[T]) ContainsPrefix ¶
func (receiver Enumerable[T]) ContainsPrefix(item T) bool
ContainsPrefix 元素中是否包含前缀
func (Enumerable[T]) ContainsSuffix ¶
func (receiver Enumerable[T]) ContainsSuffix(item T) bool
ContainsSuffix 元素中是否包含后缀
func (Enumerable[T]) Distinct ¶
func (receiver Enumerable[T]) Distinct() Enumerable[T]
Distinct 集合去重
func (Enumerable[T]) Empty ¶
func (receiver Enumerable[T]) Empty() Enumerable[T]
Empty 返回一个新的Empty集合
func (Enumerable[T]) Except ¶
func (receiver Enumerable[T]) Except(lstRight List[T]) Enumerable[T]
Except 移除参数中包含的集合元素
func (Enumerable[T]) Find ¶
func (receiver Enumerable[T]) Find(itemFn func(item *T) bool) *T
Find 查找指定条件的元素,返回批一个指针元素
func (Enumerable[T]) For ¶
func (receiver Enumerable[T]) For(itemFn func(index int, item *T))
For 遍历操作
func (Enumerable[T]) Foreach ¶
func (receiver Enumerable[T]) Foreach(itemFn func(item *T))
Foreach for range操作
func (Enumerable[T]) GroupBy ¶
func (receiver Enumerable[T]) GroupBy(mapSlice any, getMapKeyFunc func(item T) any)
GroupBy 将数组进行分组后返回map
var lstMap map[string][]testItem lst.GroupBy(&lstMap, func(item testItem) any { return item.name }) or var lstMap map[string]collections.List[testItem] lst.GroupBy(&lstMap, func(item testItem) any { return item.name })
func (Enumerable[T]) Intersect ¶
func (receiver Enumerable[T]) Intersect(lstRight List[T]) Enumerable[T]
Intersect 两个集合的交集(共同存在的元素)
func (Enumerable[T]) OrderBy ¶
func (receiver Enumerable[T]) OrderBy(fn func(item T) any) Enumerable[T]
OrderBy 正序排序,fn 返回的是要排序的字段的值
func (Enumerable[T]) OrderByDescending ¶
func (receiver Enumerable[T]) OrderByDescending(fn func(item T) any) Enumerable[T]
OrderByDescending 倒序排序,fn 返回的是要排序的字段的值
func (Enumerable[T]) OrderByDescendingItem ¶
func (receiver Enumerable[T]) OrderByDescendingItem() Enumerable[T]
OrderByDescendingItem 倒序排序,fn 返回的是要排序的字段的值
func (Enumerable[T]) OrderByItem ¶
func (receiver Enumerable[T]) OrderByItem() Enumerable[T]
OrderByItem 正序排序,fn 返回的是要排序的字段的值
func (Enumerable[T]) OrderByThen ¶
func (receiver Enumerable[T]) OrderByThen(fn func(leftItem, rightItem T) bool) Enumerable[T]
OrderByThen 自定义多条件,返回true时,排在前面
func (Enumerable[T]) Parallel ¶
func (receiver Enumerable[T]) Parallel(itemFn func(item *T))
Parallel for range 并行操作
func (Enumerable[T]) Range ¶
func (receiver Enumerable[T]) Range(startIndex int, length int) Enumerable[T]
Range 获取切片范围 startIndex:起始位置 length:从startIndex开始之后的长度
func (Enumerable[T]) RangeStart ¶
func (receiver Enumerable[T]) RangeStart(startIndex int) Enumerable[T]
RangeStart 获取切片范围(指定startIndex,不指定endIndex)
func (Enumerable[T]) Select ¶
func (receiver Enumerable[T]) Select(sliceOrList any, fn func(item T) any)
Select 筛选子元素字段
arrSlice:切片数组类型
eg:
lstYaml := NewList("1", "", "2") var lst []string lstYaml.Select(&lst, func(item string) any { return "go:" + item }) result: lst = []string { "go:1", "go:", "go:2" } var lstSelect List[string] lstYaml.Select(&lstSelect, func(item string) any { return "go:" + item }) result: lstSelect = List[string] { "go:1", "go:", "go:2" }
func (Enumerable[T]) SelectMany ¶
func (receiver Enumerable[T]) SelectMany(sliceOrList any, fn func(item T) any)
SelectMany 筛选子元素字段
arrSlice:切片数组类型
eg:
lstYaml := NewList([]string{"1", "2"}, []string{"3", "4"}) var arr []string lstYaml.SelectMany(&arr, func(item []string) any { return item }) // result: arr = []string { "1", "2", "3", "4" } var lst2 List[string] lst.SelectMany(&lst2, func(item []string) any { return item }) // result: lst = List[string] { "1", "2", "3", "4" }
func (Enumerable[T]) SelectManyItem ¶
func (receiver Enumerable[T]) SelectManyItem(sliceOrList any)
SelectManyItem 筛选子元素字段
arrSlice:切片数组类型
eg:
lstYaml := NewList([]string{"1", "2"}, []string{"3", "4"}) var arr []string lstYaml.SelectMany(&arr) // result: arr = []string { "1", "2", "3", "4" } var lst2 List[string] lst.SelectMany(&lst2) // result: lst = List[string] { "1", "2", "3", "4" }
func (Enumerable[T]) Skip ¶
func (receiver Enumerable[T]) Skip(count int) Enumerable[T]
Skip 跳过前多少条记录
func (Enumerable[T]) Take ¶
func (receiver Enumerable[T]) Take(count int) Enumerable[T]
Take 返回前多少条数据
func (Enumerable[T]) ToListAny ¶
func (receiver Enumerable[T]) ToListAny() ListAny
ToListAny 转成ListAny
func (Enumerable[T]) ToMap ¶
func (receiver Enumerable[T]) ToMap(mapSlice any, getMapKeyFunc func(item T) any, getMapValueFunc func(item T) any)
ToMap 转成字典
func (Enumerable[T]) ToPageList ¶
func (receiver Enumerable[T]) ToPageList(pageSize int, pageIndex int) PageList[T]
ToPageList 数组分页
func (Enumerable[T]) ToString ¶
func (receiver Enumerable[T]) ToString(split string) string
ToString 将集合转成字符串,并用split分隔
func (Enumerable[T]) Union ¶
func (receiver Enumerable[T]) Union(lstRight List[T]) Enumerable[T]
Union 合并两个集合,并去重
func (Enumerable[T]) Where ¶
func (receiver Enumerable[T]) Where(fn func(item T) bool) Enumerable[T]
Where 对数据进行筛选
type IList ¶
type IList[T any] struct { Collection[T] // contains filtered or unexported fields }
type List ¶
type List[T any] struct { IList[T] // 对集合做修改操作 Enumerable[T] // 对集合做读操作 // contains filtered or unexported fields }
List 集合
func NewListFromChan ¶
NewListFromChan 创建集合,将chan中的数据填充到集合
func (*List[T]) AsEnumerable ¶
func (receiver *List[T]) AsEnumerable() Enumerable[T]
AsEnumerable 返回enumerable类型
func (*List[T]) GormDataType ¶
GormDataType gorm common data type
func (List[T]) MarshalJSON ¶
MarshalJSON to output non base64 encoded []byte 此处不能用指针,否则json序列化时不执行
func (*List[T]) UnmarshalJSON ¶
UnmarshalJSON to deserialize []byte
type ListAny ¶
func NewListAny ¶
type ReadonlyDictionary ¶
type ReadonlyDictionary[TKey comparable, TValue any] struct { // contains filtered or unexported fields }
ReadonlyDictionary 只读字典
func NewReadonlyDictionary ¶
func NewReadonlyDictionary[TKey comparable, TValue any]() ReadonlyDictionary[TKey, TValue]
NewReadonlyDictionary 创建一个字典
func NewReadonlyDictionaryFromMap ¶
func NewReadonlyDictionaryFromMap[TKey comparable, TValue any](source map[TKey]TValue) ReadonlyDictionary[TKey, TValue]
NewReadonlyDictionaryFromMap 创建一个字典
func (ReadonlyDictionary[TKey, TValue]) ContainsKey ¶
func (receiver ReadonlyDictionary[TKey, TValue]) ContainsKey(key TKey) bool
ContainsKey 是否存在KEY
func (ReadonlyDictionary[TKey, TValue]) ContainsValue ¶
func (receiver ReadonlyDictionary[TKey, TValue]) ContainsValue(v TValue) bool
ContainsValue 是否存在指定的Value
func (ReadonlyDictionary[TKey, TValue]) Count ¶
func (receiver ReadonlyDictionary[TKey, TValue]) Count() int
Count 获取字典数量
func (ReadonlyDictionary[TKey, TValue]) GetValue ¶
func (receiver ReadonlyDictionary[TKey, TValue]) GetValue(key TKey) TValue
GetValue 获取指定KEY的Value
func (ReadonlyDictionary[TKey, TValue]) GormDataType ¶
func (receiver ReadonlyDictionary[TKey, TValue]) GormDataType() string
GormDataType gorm common data type
func (ReadonlyDictionary[TKey, TValue]) IsNil ¶
func (receiver ReadonlyDictionary[TKey, TValue]) IsNil() bool
IsNil 是否未初始化
func (ReadonlyDictionary[TKey, TValue]) Keys ¶
func (receiver ReadonlyDictionary[TKey, TValue]) Keys() List[TKey]
Keys 获取字典的Keys
func (ReadonlyDictionary[TKey, TValue]) MarshalJSON ¶
func (receiver ReadonlyDictionary[TKey, TValue]) MarshalJSON() ([]byte, error)
MarshalJSON to output non base64 encoded []byte 此处不能用指针,否则json序列化时不执行
func (ReadonlyDictionary[TKey, TValue]) ToDictionary ¶
func (receiver ReadonlyDictionary[TKey, TValue]) ToDictionary() Dictionary[TKey, TValue]
ToDictionary 返回只写字典
func (ReadonlyDictionary[TKey, TValue]) ToMap ¶
func (receiver ReadonlyDictionary[TKey, TValue]) ToMap() map[TKey]TValue
ToMap 转成map对象
func (ReadonlyDictionary[TKey, TValue]) Value ¶
func (receiver ReadonlyDictionary[TKey, TValue]) Value() (driver.Value, error)
Value return json value, implement driver.Valuer interface
func (ReadonlyDictionary[TKey, TValue]) Values ¶
func (receiver ReadonlyDictionary[TKey, TValue]) Values() List[TValue]
Values 获取字典的value