anyArrayV3

package
v1.62.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 23, 2026 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ToAny

func ToAny(slice any) []any

ToAny converts any slice to []any

Types

type AnyArray

type AnyArray[T any] struct {
	// contains filtered or unexported fields
}

func (*AnyArray[T]) AllEmpty

func (my *AnyArray[T]) AllEmpty() bool

AllEmpty 判断当前数组是否0空

func (*AnyArray[T]) AnyEmpty

func (my *AnyArray[T]) AnyEmpty() bool

AnyEmpty 判断当前数组中是否存在0值

func (*AnyArray[T]) Append

func (my *AnyArray[T]) Append(v ...T) AnyArrayer[T]

Append 添加值

func (*AnyArray[T]) Chunk

func (my *AnyArray[T]) Chunk(size int) [][]T

Chunk 分块

func (*AnyArray[T]) Clean

func (my *AnyArray[T]) Clean() AnyArrayer[T]

Clean 清理数据

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]) Empty

func (my *AnyArray[T]) Empty() bool

Empty 判断是否为空

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]) First

func (my *AnyArray[T]) First() T

First 获取第一个值

func (*AnyArray[T]) GetIndexByValue

func (my *AnyArray[T]) GetIndexByValue(value T) int

GetIndexByValue 根据值获取索引下标

func (*AnyArray[T]) GetIndexes

func (my *AnyArray[T]) GetIndexes() []int

GetIndexes 获取所有索引

func (*AnyArray[T]) GetIndexesByValues

func (my *AnyArray[T]) GetIndexesByValues(values ...T) []int

GetIndexesByValues 通过值获取索引下标

func (*AnyArray[T]) GetValue

func (my *AnyArray[T]) GetValue(idx int) T

Get 获取值

func (*AnyArray[T]) GetValueOrDefault

func (my *AnyArray[T]) GetValueOrDefault(idx int, defaultValue T) T

GetValueOrDefault 获取值:如果索引不存在则返回默认值

func (*AnyArray[T]) GetValuePtr

func (my *AnyArray[T]) GetValuePtr(idx int) *T

GetValuePtr 获取值指针

func (*AnyArray[T]) GetValues

func (my *AnyArray[T]) GetValues(indexes ...int) []T

获取多个值

func (*AnyArray[T]) GetValuesBySlices

func (my *AnyArray[T]) GetValuesBySlices(original, finished int) []T

GetValuesBySlices 获取切片值

func (*AnyArray[T]) Has

func (my *AnyArray[T]) Has(k int) bool

Has 检查是否存在

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]) In

func (my *AnyArray[T]) In(targets ...T) bool

In 检查值是否存在

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]) Join

func (my *AnyArray[T]) Join(sep string) string

Join 拼接字符串

func (*AnyArray[T]) JoinNotEmpty

func (my *AnyArray[T]) JoinNotEmpty(sep string) string

JoinNotEmpty 拼接非空字符串

func (*AnyArray[T]) Last

func (my *AnyArray[T]) Last() T

Last 获取最后一个值

func (*AnyArray[T]) Length

func (my *AnyArray[T]) Length() int

Length 获取数组长度

func (*AnyArray[T]) LengthNotEmpty

func (my *AnyArray[T]) LengthNotEmpty() int

LengthNotEmpty 获取非0值长度

func (*AnyArray[T]) Lock

func (my *AnyArray[T]) Lock() AnyArrayer[T]

Lock 加锁:写锁

func (*AnyArray[T]) MarshalJSON

func (my *AnyArray[T]) MarshalJSON() ([]byte, error)

MarshalJSON 实现接口:json序列化

func (*AnyArray[T]) NotEmpty

func (my *AnyArray[T]) NotEmpty() bool

NotEmpty 判断是否不为空

func (*AnyArray[T]) NotIn

func (my *AnyArray[T]) NotIn(targets ...T) bool

NotIn 检查值是否不存在

func (*AnyArray[T]) Pluck

func (my *AnyArray[T]) Pluck(fn func(item T) any) AnyArrayer[any]

Pluck 获取数组中指定字段的值

func (*AnyArray[T]) RLock

func (my *AnyArray[T]) RLock() AnyArrayer[T]

RLock 加锁:读锁

func (*AnyArray[T]) RUnlock

func (my *AnyArray[T]) RUnlock() AnyArrayer[T]

RUnlock 释放:读锁

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]) SetData

func (my *AnyArray[T]) SetData(data []T)

SetData 设置数据

func (*AnyArray[T]) SetValue

func (my *AnyArray[T]) SetValue(k int, v T) AnyArrayer[T]

SetValue 设置值

func (*AnyArray[T]) Shuffle

func (my *AnyArray[T]) Shuffle() AnyArrayer[T]

Shuffle 打乱切片中的元素顺序

func (*AnyArray[T]) Sort

func (my *AnyArray[T]) Sort(fn func(i, j int) bool) AnyArrayer[T]

Sort 排序

func (*AnyArray[T]) ToSlice

func (my *AnyArray[T]) ToSlice() []T

ToSlice 获取全部值:到切片

func (*AnyArray[T]) ToString

func (my *AnyArray[T]) ToString(formats ...string) string

ToString 导出string

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]) Unique

func (my *AnyArray[T]) Unique() AnyArrayer[T]

Unique 去重

func (*AnyArray[T]) Unlock

func (my *AnyArray[T]) Unlock() AnyArrayer[T]

Unlock 释放:写锁

func (*AnyArray[T]) UnmarshalJSON

func (my *AnyArray[T]) UnmarshalJSON(data []byte) error

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]

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL