Documentation
¶
Index ¶
- func ToAny(slice any) []any
- type AnyArray
- func (my *AnyArray[T]) AllEmpty() bool
- func (my *AnyArray[T]) AnyEmpty() bool
- func (my *AnyArray[T]) Append(v ...T) AnyArrayer[T]
- func (my *AnyArray[T]) Chunk(size int) [][]T
- func (my *AnyArray[T]) Clean() AnyArrayer[T]
- func (my *AnyArray[T]) Difference(other AnyArrayer[T]) AnyArrayer[T]
- func (my *AnyArray[T]) DifferenceBySlice(other ...T) AnyArrayer[T]
- func (my *AnyArray[T]) Each(fn func(idx int, item T)) AnyArrayer[T]
- func (my *AnyArray[T]) Empty() bool
- func (my *AnyArray[T]) Every(fn func(item T) T) AnyArrayer[T]
- func (my *AnyArray[T]) Filter(fn func(item T) bool) AnyArrayer[T]
- func (my *AnyArray[T]) First() T
- func (my *AnyArray[T]) GetIndexByValue(value T) int
- func (my *AnyArray[T]) GetIndexes() []int
- func (my *AnyArray[T]) GetIndexesByValues(values ...T) []int
- func (my *AnyArray[T]) GetValue(idx int) T
- func (my *AnyArray[T]) GetValueOrDefault(idx int, defaultValue T) T
- func (my *AnyArray[T]) GetValuePtr(idx int) *T
- func (my *AnyArray[T]) GetValues(indexes ...int) []T
- func (my *AnyArray[T]) GetValuesBySlices(original, finished int) []T
- func (my *AnyArray[T]) Has(k int) bool
- func (my *AnyArray[T]) IfEmpty(fn func(array AnyArrayer[T])) AnyArrayer[T]
- func (my *AnyArray[T]) IfEmptyError(fn func(array AnyArrayer[T]) error) error
- func (my *AnyArray[T]) IfIn(fn func(array AnyArrayer[T]), targets ...T) AnyArrayer[T]
- func (my *AnyArray[T]) IfInError(fn func(array AnyArrayer[T]) error, targets ...T) error
- func (my *AnyArray[T]) IfNotEmpty(fn func(array AnyArrayer[T])) AnyArrayer[T]
- func (my *AnyArray[T]) IfNotEmptyError(fn func(array AnyArrayer[T]) error) error
- func (my *AnyArray[T]) IfNotIn(fn func(array AnyArrayer[T]), targets ...T) AnyArrayer[T]
- func (my *AnyArray[T]) IfNotInError(fn func(array AnyArrayer[T]) error, targets ...T) error
- func (my *AnyArray[T]) In(targets ...T) bool
- func (my *AnyArray[T]) Intersection(other AnyArrayer[T]) AnyArrayer[T]
- func (my *AnyArray[T]) IntersectionBySlice(other ...T) AnyArrayer[T]
- func (my *AnyArray[T]) Join(sep string) string
- func (my *AnyArray[T]) JoinNotEmpty(sep string) string
- func (my *AnyArray[T]) Last() T
- func (my *AnyArray[T]) Length() int
- func (my *AnyArray[T]) LengthNotEmpty() int
- func (my *AnyArray[T]) Lock() AnyArrayer[T]
- func (my *AnyArray[T]) MarshalJSON() ([]byte, error)
- func (my *AnyArray[T]) NotEmpty() bool
- func (my *AnyArray[T]) NotIn(targets ...T) bool
- func (my *AnyArray[T]) Pluck(fn func(item T) any) AnyArrayer[any]
- func (my *AnyArray[T]) RLock() AnyArrayer[T]
- func (my *AnyArray[T]) RUnlock() AnyArrayer[T]
- func (my *AnyArray[T]) RemoveByIndex(index int) AnyArrayer[T]
- func (my *AnyArray[T]) RemoveByIndexes(indexes ...int) AnyArrayer[T]
- func (my *AnyArray[T]) RemoveByValue(target T) AnyArrayer[T]
- func (my *AnyArray[T]) RemoveByValues(targets ...T) AnyArrayer[T]
- func (my *AnyArray[T]) RemoveEmpty() AnyArrayer[T]
- func (my *AnyArray[T]) SetAttrs(attrs ...Attributer[T]) AnyArrayer[T]
- func (my *AnyArray[T]) SetData(data []T)
- func (my *AnyArray[T]) SetValue(k int, v T) AnyArrayer[T]
- func (my *AnyArray[T]) Shuffle() AnyArrayer[T]
- func (my *AnyArray[T]) Sort(fn func(i, j int) bool) AnyArrayer[T]
- func (my *AnyArray[T]) ToSlice() []T
- func (my *AnyArray[T]) ToString(formats ...string) string
- func (my *AnyArray[T]) Union(other AnyArrayer[T]) AnyArrayer[T]
- func (my *AnyArray[T]) UnionBySlice(other []T) AnyArrayer[T]
- func (my *AnyArray[T]) Unique() AnyArrayer[T]
- func (my *AnyArray[T]) Unlock() AnyArrayer[T]
- func (my *AnyArray[T]) UnmarshalJSON(data []byte) error
- type AnyArrayer
- func Cast[SRC, DST any](src AnyArrayer[SRC], fn func(value SRC) DST) AnyArrayer[DST]
- func CastAny[DST any](src AnyArrayer[any], fn func(value any) DST) AnyArrayer[DST]
- func New[T any](attrs ...Attributer[T]) AnyArrayer[T]
- func NewItems[T any](items ...T) AnyArrayer[T]
- func NewList[T any](data []T) AnyArrayer[T]
- type AttrCap
- type AttrEmpty
- type AttrItems
- type AttrLen
- type AttrList
- type Attributer
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type AnyArray ¶
type AnyArray[T any] struct { // contains filtered or unexported fields }
func (*AnyArray[T]) Difference ¶
func (my *AnyArray[T]) Difference(other AnyArrayer[T]) AnyArrayer[T]
Difference 取差集
func (*AnyArray[T]) DifferenceBySlice ¶
func (my *AnyArray[T]) DifferenceBySlice(other ...T) AnyArrayer[T]
DifferenceBySlice 取差集:通过切片
func (*AnyArray[T]) Each ¶
func (my *AnyArray[T]) Each(fn func(idx int, item T)) AnyArrayer[T]
Each 遍历数组
func (*AnyArray[T]) Every ¶
func (my *AnyArray[T]) Every(fn func(item T) T) AnyArrayer[T]
Every 循环处理每一个
func (*AnyArray[T]) Filter ¶
func (my *AnyArray[T]) Filter(fn func(item T) bool) AnyArrayer[T]
Filter 过滤数组值
func (*AnyArray[T]) GetIndexByValue ¶
func (my *AnyArray[T]) GetIndexByValue(value T) int
GetIndexByValue 根据值获取索引下标
func (*AnyArray[T]) GetIndexesByValues ¶
func (my *AnyArray[T]) GetIndexesByValues(values ...T) []int
GetIndexesByValues 通过值获取索引下标
func (*AnyArray[T]) GetValueOrDefault ¶
func (my *AnyArray[T]) GetValueOrDefault(idx int, defaultValue T) T
GetValueOrDefault 获取值:如果索引不存在则返回默认值
func (*AnyArray[T]) GetValuesBySlices ¶
func (my *AnyArray[T]) GetValuesBySlices(original, finished int) []T
GetValuesBySlices 获取切片值
func (*AnyArray[T]) IfEmpty ¶
func (my *AnyArray[T]) IfEmpty(fn func(array AnyArrayer[T])) AnyArrayer[T]
IfEmpty 判断是否为空:如果为空则执行回调
func (*AnyArray[T]) IfEmptyError ¶
func (my *AnyArray[T]) IfEmptyError(fn func(array AnyArrayer[T]) error) error
IfEmptyError 判断是否为空:如果为空则执行回调并返回错误
func (*AnyArray[T]) IfIn ¶
func (my *AnyArray[T]) IfIn(fn func(array AnyArrayer[T]), targets ...T) AnyArrayer[T]
IfIn 如果In 检查值是否存在:如果存在则执行回调
func (*AnyArray[T]) IfInError ¶
func (my *AnyArray[T]) IfInError(fn func(array AnyArrayer[T]) error, targets ...T) error
func (*AnyArray[T]) IfNotEmpty ¶
func (my *AnyArray[T]) IfNotEmpty(fn func(array AnyArrayer[T])) AnyArrayer[T]
IfNotEmpty 判断是否不为空:如果不为空则执行回调
func (*AnyArray[T]) IfNotEmptyError ¶
func (my *AnyArray[T]) IfNotEmptyError(fn func(array AnyArrayer[T]) error) error
IfNotEmptyError 判断是否不为空:如果不为空则执行回调并返回错误
func (*AnyArray[T]) IfNotIn ¶
func (my *AnyArray[T]) IfNotIn(fn func(array AnyArrayer[T]), targets ...T) AnyArrayer[T]
IfNotIn 如果NotIn 检查值是否不存在:如果不存在则执行回调
func (*AnyArray[T]) IfNotInError ¶
func (my *AnyArray[T]) IfNotInError(fn func(array AnyArrayer[T]) error, targets ...T) error
func (*AnyArray[T]) Intersection ¶
func (my *AnyArray[T]) Intersection(other AnyArrayer[T]) AnyArrayer[T]
Intersection 取交集
func (*AnyArray[T]) IntersectionBySlice ¶
func (my *AnyArray[T]) IntersectionBySlice(other ...T) AnyArrayer[T]
IntersectionBySlice 取交集:通过切片
func (*AnyArray[T]) JoinNotEmpty ¶
JoinNotEmpty 拼接非空字符串
func (*AnyArray[T]) LengthNotEmpty ¶
func (my *AnyArray[T]) LengthNotEmpty() int
LengthNotEmpty 获取非0值长度
func (*AnyArray[T]) MarshalJSON ¶
MarshalJSON 实现接口:json序列化
func (*AnyArray[T]) Pluck ¶
func (my *AnyArray[T]) Pluck(fn func(item T) any) AnyArrayer[any]
Pluck 获取数组中指定字段的值
func (*AnyArray[T]) RemoveByIndex ¶
func (my *AnyArray[T]) RemoveByIndex(index int) AnyArrayer[T]
RemoveByIndex 根据索引删除元素
func (*AnyArray[T]) RemoveByIndexes ¶
func (my *AnyArray[T]) RemoveByIndexes(indexes ...int) AnyArrayer[T]
RemoveByIndexes 根据索引删除元素
func (*AnyArray[T]) RemoveByValue ¶
func (my *AnyArray[T]) RemoveByValue(target T) AnyArrayer[T]
RemoveByValue 删除数组中对应的目标
func (*AnyArray[T]) RemoveByValues ¶
func (my *AnyArray[T]) RemoveByValues(targets ...T) AnyArrayer[T]
RemoveByValues 删除数组中对应的多个目标
func (*AnyArray[T]) RemoveEmpty ¶
func (my *AnyArray[T]) RemoveEmpty() AnyArrayer[T]
RemoveEmpty 清除0值元素
func (*AnyArray[T]) SetAttrs ¶
func (my *AnyArray[T]) SetAttrs(attrs ...Attributer[T]) AnyArrayer[T]
SetAttrs 设置属性
func (*AnyArray[T]) SetValue ¶
func (my *AnyArray[T]) SetValue(k int, v T) AnyArrayer[T]
SetValue 设置值
func (*AnyArray[T]) Sort ¶
func (my *AnyArray[T]) Sort(fn func(i, j int) bool) AnyArrayer[T]
Sort 排序
func (*AnyArray[T]) Union ¶
func (my *AnyArray[T]) Union(other AnyArrayer[T]) AnyArrayer[T]
Union 取并集
func (*AnyArray[T]) UnionBySlice ¶
func (my *AnyArray[T]) UnionBySlice(other []T) AnyArrayer[T]
UnionBySlice 取并集:通过切片
func (*AnyArray[T]) UnmarshalJSON ¶
UnmarshalJSON 实现接口:json反序列化
type AnyArrayer ¶
type AnyArrayer[T any] interface { SetAttrs(attrs ...Attributer[T]) AnyArrayer[T] SetData(data []T) Lock() AnyArrayer[T] Unlock() AnyArrayer[T] RLock() AnyArrayer[T] RUnlock() AnyArrayer[T] Empty() bool NotEmpty() bool IfEmpty(fn func(array AnyArrayer[T])) AnyArrayer[T] IfNotEmpty(fn func(array AnyArrayer[T])) AnyArrayer[T] IfEmptyError(fn func(array AnyArrayer[T]) error) error IfNotEmptyError(fn func(array AnyArrayer[T]) error) error Has(k int) bool SetValue(k int, v T) AnyArrayer[T] GetValue(idx int) T GetValuePtr(idx int) *T GetValueOrDefault(idx int, defaultValue T) T GetValues(indexes ...int) []T GetValuesBySlices(original, finished int) []T Append(v ...T) AnyArrayer[T] First() T Last() T ToSlice() []T GetIndexes() []int GetIndexByValue(value T) int GetIndexesByValues(values ...T) []int Shuffle() AnyArrayer[T] Length() int LengthNotEmpty() int Filter(fn func(item T) bool) AnyArrayer[T] RemoveEmpty() AnyArrayer[T] Join(sep string) string JoinNotEmpty(sep string) string In(targets ...T) bool NotIn(targets ...T) bool IfIn(fn func(array AnyArrayer[T]), targets ...T) AnyArrayer[T] IfNotIn(fn func(array AnyArrayer[T]), targets ...T) AnyArrayer[T] IfInError(fn func(array AnyArrayer[T]) error, targets ...T) error IfNotInError(fn func(array AnyArrayer[T]) error, targets ...T) error AllEmpty() bool AnyEmpty() bool Chunk(size int) [][]T Pluck(fn func(item T) any) AnyArrayer[any] Intersection(other AnyArrayer[T]) AnyArrayer[T] IntersectionBySlice(other ...T) AnyArrayer[T] Difference(other AnyArrayer[T]) AnyArrayer[T] DifferenceBySlice(other ...T) AnyArrayer[T] Union(other AnyArrayer[T]) AnyArrayer[T] UnionBySlice(other []T) AnyArrayer[T] Unique() AnyArrayer[T] RemoveByIndex(index int) AnyArrayer[T] RemoveByIndexes(indexes ...int) AnyArrayer[T] RemoveByValue(target T) AnyArrayer[T] RemoveByValues(targets ...T) AnyArrayer[T] Every(fn func(item T) T) AnyArrayer[T] Each(fn func(idx int, item T)) AnyArrayer[T] Sort(fn func(i, j int) bool) AnyArrayer[T] Clean() AnyArrayer[T] MarshalJSON() ([]byte, error) UnmarshalJSON(data []byte) error ToString(formats ...string) string }
func Cast ¶
func Cast[SRC, DST any](src AnyArrayer[SRC], fn func(value SRC) DST) AnyArrayer[DST]
Cast 转换值类型
func CastAny ¶
func CastAny[DST any](src AnyArrayer[any], fn func(value any) DST) AnyArrayer[DST]
CastAny 任意类型转目标类型
func New ¶
func New[T any](attrs ...Attributer[T]) AnyArrayer[T]
func NewItems ¶
func NewItems[T any](items ...T) AnyArrayer[T]
func NewList ¶
func NewList[T any](data []T) AnyArrayer[T]
type AttrCap ¶
type AttrCap[T any] struct { // contains filtered or unexported fields }
func (AttrCap[T]) Register ¶
func (my AttrCap[T]) Register(anyArray AnyArrayer[T])
type AttrEmpty ¶
type AttrEmpty[T any] struct{}
func (AttrEmpty[T]) Register ¶
func (my AttrEmpty[T]) Register(anyArray AnyArrayer[T])
type AttrItems ¶
type AttrItems[T any] struct { // contains filtered or unexported fields }
func (AttrItems[T]) Register ¶
func (my AttrItems[T]) Register(anyArray AnyArrayer[T])
type AttrLen ¶
type AttrLen[T any] struct { // contains filtered or unexported fields }
func (AttrLen[T]) Register ¶
func (my AttrLen[T]) Register(anyArray AnyArrayer[T])
type AttrList ¶
type AttrList[T any] struct { // contains filtered or unexported fields }
func (AttrList[T]) Register ¶
func (my AttrList[T]) Register(anyArray AnyArrayer[T])
type Attributer ¶
type Attributer[T any] interface{ Register(anyArray AnyArrayer[T]) }
func Cap ¶
func Cap[T any](cap int) Attributer[T]
func Empty ¶
func Empty[T any]() Attributer[T]
func Items ¶
func Items[T any](items ...T) Attributer[T]
func Len ¶
func Len[T any](length int) Attributer[T]
func List ¶
func List[T any](list []T) Attributer[T]