Documentation ¶
Overview ¶
包garray提供了最常用的数组容器,同时也支持并发安全/不安全切换功能。 md5:0853e7a3b618a52d
Index ¶
- type Array
- func NewArray别名(并发安全 ...bool) *Array
- func NewFromCopy别名(数组 []interface{}, 并发安全 ...bool) *Array
- func NewFrom别名(数组 []interface{}, 并发安全 ...bool) *Array
- func X创建(并发安全 ...bool) *Array
- func X创建并从数组(数组 []interface{}, 并发安全 ...bool) *Array
- func X创建并从数组复制(数组 []interface{}, 并发安全 ...bool) *Array
- func X创建并按大小(大小 int, 上限 int, 并发安全 ...bool) *Array
- func X创建并按范围(起点, 终点, 步长 int, 并发安全 ...bool) *Array
- func (a *Array) Append别名(值 ...interface{}) *Array
- func (a *Array) DeepCopy() interface{}
- func (a Array) MarshalJSON() ([]byte, error)
- func (a *Array) String() string
- func (a *Array) UnmarshalJSON(b []byte) error
- func (a *Array) UnmarshalValue(value interface{}) error
- func (a *Array) X倒排序() *Array
- func (a *Array) X入栈右(值 ...interface{}) *Array
- func (a *Array) X入栈左(值 ...interface{}) *Array
- func (a *Array) X出栈右() (值 interface{}, 成功 bool)
- func (a *Array) X出栈右多个(数量 int) []interface{}
- func (a *Array) X出栈左() (值 interface{}, 成功 bool)
- func (a *Array) X出栈左多个(数量 int) []interface{}
- func (a *Array) X出栈随机() (值 interface{}, 成功 bool)
- func (a *Array) X出栈随机多个(数量 int) []interface{}
- func (a *Array) X分割(数量 int) [][]interface{}
- func (a *Array) X删除(索引 int) (值 interface{}, 成功 bool)
- func (a *Array) X删除值(值 interface{}) bool
- func (a *Array) X删除多个值(值 ...interface{})
- func (a *Array) X删除所有nil() *Array
- func (a *Array) X删除所有空值() *Array
- func (a *Array) X去重() *Array
- func (a *Array) X取any数组() []interface{}
- func (a *Array) X取值(索引 int) (值 interface{})
- func (a *Array) X取值2(索引 int) (值 interface{}, 成功 bool)
- func (a *Array) X取值随机() (值 interface{}, 成功 bool)
- func (a *Array) X取值随机多个(数量 int) []interface{}
- func (a *Array) X取副本() (新数组 *Array)
- func (a *Array) X取数组() []interface{}
- func (a *Array) X取数组并按数量(起点 int, 数量 ...int) []interface{}
- func (a *Array) X取数组并按范围(起点 int, 终点 ...int) []interface{}
- func (a *Array) X取文本() string
- func (a *Array) X取长度() int
- func (a *Array) X合并(数组 interface{}) *Array
- func (a *Array) X填充(起点 int, 填充数量 int, 值 interface{}) error
- func (a *Array) X填满(总数量 int, 值 interface{}) *Array
- func (a *Array) X排序并带函数(回调函数 func(v1, v2 interface{}) bool) *Array
- func (a *Array) X插入前面(索引 int, 值 ...interface{}) error
- func (a *Array) X插入后面(索引 int, 值 ...interface{}) error
- func (a *Array) X是否为空() bool
- func (a *Array) X是否存在(值 interface{}) bool
- func (a *Array) X替换(数组 []interface{}) *Array
- func (a *Array) X查找(值 interface{}) int
- func (a *Array) X求和() (值 int)
- func (a *Array) X清空() *Array
- func (a *Array) X统计() map[interface{}]int
- func (a *Array) X设置值(index int, value interface{}) error
- func (a *Array) X设置数组(数组 []interface{}) *Array
- func (a *Array) X连接(连接符 string) string
- func (a *Array) X遍历(f func(k int, v interface{}) bool)
- func (a *Array) X遍历修改(回调函数 func(value interface{}) interface{}) *Array
- func (a *Array) X遍历删除(回调函数 func(索引 int, 值 interface{}) bool) *Array
- func (a *Array) X遍历升序(回调函数 func(k int, v interface{}) bool)
- func (a *Array) X遍历并写锁定(回调函数 func(array []interface{})) *Array
- func (a *Array) X遍历并读锁定(回调函数 func(array []interface{})) *Array
- func (a *Array) X遍历降序(回调函数 func(k int, v interface{}) bool)
- func (a *Array) X随机排序() *Array
- type IntArray
- func (a *IntArray) Append别名(值 ...int) *IntArray
- func (a *IntArray) DeepCopy() interface{}
- func (a IntArray) MarshalJSON() ([]byte, error)
- func (a *IntArray) String() string
- func (a *IntArray) UnmarshalJSON(b []byte) error
- func (a *IntArray) UnmarshalValue(value interface{}) error
- func (a *IntArray) X倒排序() *IntArray
- func (a *IntArray) X入栈右(值 ...int) *IntArray
- func (a *IntArray) X入栈左(值 ...int) *IntArray
- func (a *IntArray) X出栈右() (值 int, 成功 bool)
- func (a *IntArray) X出栈右多个(数量 int) []int
- func (a *IntArray) X出栈左() (值 int, 成功 bool)
- func (a *IntArray) X出栈左多个(数量 int) []int
- func (a *IntArray) X出栈随机() (值 int, 成功 bool)
- func (a *IntArray) X出栈随机多个(数量 int) []int
- func (a *IntArray) X分割(数量 int) [][]int
- func (a *IntArray) X删除(索引 int) (值 int, 成功 bool)
- func (a *IntArray) X删除值(值 int) bool
- func (a *IntArray) X删除多个值(值 ...int)
- func (a *IntArray) X删除所有零值() *IntArray
- func (a *IntArray) X去重() *IntArray
- func (a *IntArray) X取any数组() []interface{}
- func (a *IntArray) X取值(索引 int) (值 int)
- func (a *IntArray) X取值2(索引 int) (值 int, 成功 bool)
- func (a *IntArray) X取值随机() (值 int, 成功 bool)
- func (a *IntArray) X取值随机多个(数量 int) []int
- func (a *IntArray) X取副本() (新数组 *IntArray)
- func (a *IntArray) X取数组() []int
- func (a *IntArray) X取数组并按数量(起点 int, 数量 ...int) []int
- func (a *IntArray) X取数组并按范围(起点 int, 终点 ...int) []int
- func (a *IntArray) X取文本() string
- func (a *IntArray) X取长度() int
- func (a *IntArray) X合并(数组 interface{}) *IntArray
- func (a *IntArray) X填充(起点 int, 填充数量 int, 值 int) error
- func (a *IntArray) X填满(总数量 int, 值 int) *IntArray
- func (a *IntArray) X排序函数(回调函数 func(v1, v2 int) bool) *IntArray
- func (a *IntArray) X排序递增(降序 ...bool) *IntArray
- func (a *IntArray) X插入前面(索引 int, 值 ...int) error
- func (a *IntArray) X插入后面(index int, 值 ...int) error
- func (a *IntArray) X是否为空() bool
- func (a *IntArray) X是否存在(值 int) bool
- func (a *IntArray) X替换(数组 []int) *IntArray
- func (a *IntArray) X查找(值 int) int
- func (a *IntArray) X求和() (值 int)
- func (a *IntArray) X清空() *IntArray
- func (a *IntArray) X统计() map[int]int
- func (a *IntArray) X设置值(index int, value int) error
- func (a *IntArray) X设置数组(数组 []int) *IntArray
- func (a *IntArray) X连接(连接符 string) string
- func (a *IntArray) X遍历(f func(k int, v int) bool)
- func (a *IntArray) X遍历修改(回调函数 func(value int) int) *IntArray
- func (a *IntArray) X遍历写锁定(回调函数 func(array []int)) *IntArray
- func (a *IntArray) X遍历删除(回调函数 func(索引 int, 值 int) bool) *IntArray
- func (a *IntArray) X遍历升序(回调函数 func(k int, v int) bool)
- func (a *IntArray) X遍历读锁定(回调函数 func(array []int)) *IntArray
- func (a *IntArray) X遍历降序(回调函数 func(k int, v int) bool)
- func (a *IntArray) X随机排序() *IntArray
- type SortedArray
- func X创建排序(排序函数 func(a, b interface{}) int, 并发安全 ...bool) *SortedArray
- func X创建排序并从数组(数组 []interface{}, 排序函数 func(a, b interface{}) int, ...) *SortedArray
- func X创建排序并从数组复制(数组 []interface{}, 排序函数 func(a, b interface{}) int, ...) *SortedArray
- func X创建排序并按大小(大小 int, 排序函数 func(a, b interface{}) int, 并发安全 ...bool) *SortedArray
- func X创建排序并按范围(起点, 终点, 步长 int, 排序函数 func(a, b interface{}) int, ...) *SortedArray
- func (a *SortedArray) Append别名(值 ...interface{}) *SortedArray
- func (a *SortedArray) DeepCopy() interface{}
- func (a SortedArray) MarshalJSON() ([]byte, error)
- func (a *SortedArray) String() string
- func (a *SortedArray) UnmarshalJSON(b []byte) error
- func (a *SortedArray) UnmarshalValue(value interface{}) (err error)
- func (a *SortedArray) X入栈右(值 ...interface{}) *SortedArray
- func (a *SortedArray) X出栈右() (值 interface{}, 成功 bool)
- func (a *SortedArray) X出栈右多个(数量 int) []interface{}
- func (a *SortedArray) X出栈左() (值 interface{}, 成功 bool)
- func (a *SortedArray) X出栈左多个(数量 int) []interface{}
- func (a *SortedArray) X出栈随机() (值 interface{}, 成功 bool)
- func (a *SortedArray) X出栈随机多个(数量 int) []interface{}
- func (a *SortedArray) X分割(数量 int) [][]interface{}
- func (a *SortedArray) X删除(索引 int) (值 interface{}, 成功 bool)
- func (a *SortedArray) X删除值(值 interface{}) bool
- func (a *SortedArray) X删除多个值(值 ...interface{})
- func (a *SortedArray) X删除所有nil() *SortedArray
- func (a *SortedArray) X删除所有空值() *SortedArray
- func (a *SortedArray) X去重() *SortedArray
- func (a *SortedArray) X取any数组() []interface{}
- func (a *SortedArray) X取值(索引 int) (值 interface{})
- func (a *SortedArray) X取值2(索引 int) (值 interface{}, 成功 bool)
- func (a *SortedArray) X取值随机() (值 interface{}, 成功 bool)
- func (a *SortedArray) X取值随机多个(数量 int) []interface{}
- func (a *SortedArray) X取副本() (新数组 *SortedArray)
- func (a *SortedArray) X取数组() []interface{}
- func (a *SortedArray) X取数组并按数量(起点 int, 数量 ...int) []interface{}
- func (a *SortedArray) X取数组并按范围(起点 int, 终点 ...int) []interface{}
- func (a *SortedArray) X取文本() string
- func (a *SortedArray) X取长度() int
- func (a *SortedArray) X合并(数组 interface{}) *SortedArray
- func (a *SortedArray) X排序递增() *SortedArray
- func (a *SortedArray) X是否为空() bool
- func (a *SortedArray) X是否存在(值 interface{}) bool
- func (a *SortedArray) X查找(值 interface{}) (索引 int)
- func (a *SortedArray) X求和() (值 int)
- func (a *SortedArray) X清空() *SortedArray
- func (a *SortedArray) X统计() map[interface{}]int
- func (a *SortedArray) X设置去重(去重 bool) *SortedArray
- func (a *SortedArray) X设置排序函数(排序函数 func(a, b interface{}) int)
- func (a *SortedArray) X设置数组(数组 []interface{}) *SortedArray
- func (a *SortedArray) X连接(连接符 string) string
- func (a *SortedArray) X遍历(f func(k int, v interface{}) bool)
- func (a *SortedArray) X遍历修改(回调函数 func(value interface{}) interface{}) *SortedArray
- func (a *SortedArray) X遍历写锁定(回调函数 func(array []interface{})) *SortedArray
- func (a *SortedArray) X遍历删除(回调函数 func(索引 int, 值 interface{}) bool) *SortedArray
- func (a *SortedArray) X遍历升序(回调函数 func(k int, v interface{}) bool)
- func (a *SortedArray) X遍历读锁定(回调函数 func(array []interface{})) *SortedArray
- func (a *SortedArray) X遍历降序(回调函数 func(k int, v interface{}) bool)
- type SortedIntArray
- func X创建整数排序(并发安全 ...bool) *SortedIntArray
- func X创建整数排序并从数组(数组 []int, 并发安全 ...bool) *SortedIntArray
- func X创建整数排序并从数组复制(数组 []int, 并发安全 ...bool) *SortedIntArray
- func X创建整数排序并带排序函数(排序函数 func(a, b int) int, 并发安全 ...bool) *SortedIntArray
- func X创建整数排序并按大小(大小 int, 并发安全 ...bool) *SortedIntArray
- func X创建整数排序并按范围(起点, 终点, 步长 int, 并发安全 ...bool) *SortedIntArray
- func (a *SortedIntArray) Append别名(值 ...int) *SortedIntArray
- func (a *SortedIntArray) DeepCopy() interface{}
- func (a SortedIntArray) MarshalJSON() ([]byte, error)
- func (a *SortedIntArray) String() string
- func (a *SortedIntArray) UnmarshalJSON(b []byte) error
- func (a *SortedIntArray) UnmarshalValue(value interface{}) (err error)
- func (a *SortedIntArray) X入栈右(值 ...int) *SortedIntArray
- func (a *SortedIntArray) X出栈右() (值 int, 成功 bool)
- func (a *SortedIntArray) X出栈右多个(数量 int) []int
- func (a *SortedIntArray) X出栈左() (值 int, 成功 bool)
- func (a *SortedIntArray) X出栈左多个(数量 int) []int
- func (a *SortedIntArray) X出栈随机() (值 int, 成功 bool)
- func (a *SortedIntArray) X出栈随机多个(数量 int) []int
- func (a *SortedIntArray) X分割(数量 int) [][]int
- func (a *SortedIntArray) X删除(索引 int) (值 int, 成功 bool)
- func (a *SortedIntArray) X删除值(值 int) bool
- func (a *SortedIntArray) X删除多个值(值 ...int)
- func (a *SortedIntArray) X删除所有空值() *SortedIntArray
- func (a *SortedIntArray) X去重() *SortedIntArray
- func (a *SortedIntArray) X取any数组() []interface{}
- func (a *SortedIntArray) X取值(索引 int) (值 int)
- func (a *SortedIntArray) X取值2(索引 int) (值 int, 成功 bool)
- func (a *SortedIntArray) X取值随机() (值 int, 成功 bool)
- func (a *SortedIntArray) X取值随机多个(数量 int) []int
- func (a *SortedIntArray) X取副本() (新数组 *SortedIntArray)
- func (a *SortedIntArray) X取数组() []int
- func (a *SortedIntArray) X取数组并按数量(起点 int, 数量 ...int) []int
- func (a *SortedIntArray) X取数组并按范围(起点 int, 终点 ...int) []int
- func (a *SortedIntArray) X取文本() string
- func (a *SortedIntArray) X取长度() int
- func (a *SortedIntArray) X合并(数组 interface{}) *SortedIntArray
- func (a *SortedIntArray) X排序递增() *SortedIntArray
- func (a *SortedIntArray) X是否为空() bool
- func (a *SortedIntArray) X是否存在(值 int) bool
- func (a *SortedIntArray) X查找(值 int) (索引 int)
- func (a *SortedIntArray) X求和() (值 int)
- func (a *SortedIntArray) X清空() *SortedIntArray
- func (a *SortedIntArray) X统计() map[int]int
- func (a *SortedIntArray) X设置去重(去重 bool) *SortedIntArray
- func (a *SortedIntArray) X设置数组(数组 []int) *SortedIntArray
- func (a *SortedIntArray) X连接(连接符 string) string
- func (a *SortedIntArray) X遍历(f func(k int, v int) bool)
- func (a *SortedIntArray) X遍历修改(回调函数 func(value int) int) *SortedIntArray
- func (a *SortedIntArray) X遍历写锁定(回调函数 func(array []int)) *SortedIntArray
- func (a *SortedIntArray) X遍历删除(回调函数 func(索引 int, 值 int) bool) *SortedIntArray
- func (a *SortedIntArray) X遍历升序(回调函数 func(k int, v int) bool)
- func (a *SortedIntArray) X遍历读锁定(回调函数 func(array []int)) *SortedIntArray
- func (a *SortedIntArray) X遍历降序(回调函数 func(k int, v int) bool)
- type SortedStrArray
- func (a *SortedStrArray) Append别名(值 ...string) *SortedStrArray
- func (a *SortedStrArray) DeepCopy() interface{}
- func (a SortedStrArray) MarshalJSON() ([]byte, error)
- func (a *SortedStrArray) String() string
- func (a *SortedStrArray) UnmarshalJSON(b []byte) error
- func (a *SortedStrArray) UnmarshalValue(value interface{}) (err error)
- func (a *SortedStrArray) X入栈右(值 ...string) *SortedStrArray
- func (a *SortedStrArray) X出栈右() (值 string, 成功 bool)
- func (a *SortedStrArray) X出栈右多个(数量 int) []string
- func (a *SortedStrArray) X出栈左() (值 string, 成功 bool)
- func (a *SortedStrArray) X出栈左多个(数量 int) []string
- func (a *SortedStrArray) X出栈随机() (值 string, 成功 bool)
- func (a *SortedStrArray) X出栈随机多个(数量 int) []string
- func (a *SortedStrArray) X分割(数量 int) [][]string
- func (a *SortedStrArray) X删除(索引 int) (值 string, 成功 bool)
- func (a *SortedStrArray) X删除值(值 string) bool
- func (a *SortedStrArray) X删除多个值(值 ...string)
- func (a *SortedStrArray) X删除所有空值() *SortedStrArray
- func (a *SortedStrArray) X去重() *SortedStrArray
- func (a *SortedStrArray) X取any数组() []interface{}
- func (a *SortedStrArray) X取值(索引 int) (值 string)
- func (a *SortedStrArray) X取值2(索引 int) (值 string, 成功 bool)
- func (a *SortedStrArray) X取值随机() (值 string, 成功 bool)
- func (a *SortedStrArray) X取值随机多个(数量 int) []string
- func (a *SortedStrArray) X取副本() (新数组 *SortedStrArray)
- func (a *SortedStrArray) X取数组() []string
- func (a *SortedStrArray) X取数组并按数量(起点 int, 数量 ...int) []string
- func (a *SortedStrArray) X取数组并按范围(起点 int, 终点 ...int) []string
- func (a *SortedStrArray) X取长度() int
- func (a *SortedStrArray) X合并(数组 interface{}) *SortedStrArray
- func (a *SortedStrArray) X排序递增() *SortedStrArray
- func (a *SortedStrArray) X是否为空() bool
- func (a *SortedStrArray) X是否存在(值 string) bool
- func (a *SortedStrArray) X是否存在并忽略大小写(值 string) bool
- func (a *SortedStrArray) X查找(值 string) (索引 int)
- func (a *SortedStrArray) X求和() (值 int)
- func (a *SortedStrArray) X清空() *SortedStrArray
- func (a *SortedStrArray) X统计() map[string]int
- func (a *SortedStrArray) X设置去重(去重 bool) *SortedStrArray
- func (a *SortedStrArray) X设置数组(数组 []string) *SortedStrArray
- func (a *SortedStrArray) X连接(连接符 string) string
- func (a *SortedStrArray) X遍历(f func(k int, v string) bool)
- func (a *SortedStrArray) X遍历修改(回调函数 func(value string) string) *SortedStrArray
- func (a *SortedStrArray) X遍历写锁定(回调函数 func(array []string)) *SortedStrArray
- func (a *SortedStrArray) X遍历删除(回调函数 func(索引 int, 值 string) bool) *SortedStrArray
- func (a *SortedStrArray) X遍历升序(回调函数 func(k int, v string) bool)
- func (a *SortedStrArray) X遍历读锁定(回调函数 func(array []string)) *SortedStrArray
- func (a *SortedStrArray) X遍历降序(回调函数 func(k int, v string) bool)
- type StrArray
- func (a *StrArray) Append别名(值 ...string) *StrArray
- func (a *StrArray) DeepCopy() interface{}
- func (a StrArray) MarshalJSON() ([]byte, error)
- func (a *StrArray) String() string
- func (a *StrArray) UnmarshalJSON(b []byte) error
- func (a *StrArray) UnmarshalValue(value interface{}) error
- func (a *StrArray) X倒排序() *StrArray
- func (a *StrArray) X入栈右(值 ...string) *StrArray
- func (a *StrArray) X入栈左(值 ...string) *StrArray
- func (a *StrArray) X出栈右() (值 string, 成功 bool)
- func (a *StrArray) X出栈右多个(数量 int) []string
- func (a *StrArray) X出栈左() (值 string, 成功 bool)
- func (a *StrArray) X出栈左多个(数量 int) []string
- func (a *StrArray) X出栈随机() (值 string, 成功 bool)
- func (a *StrArray) X出栈随机多个(数量 int) []string
- func (a *StrArray) X分割(数量 int) [][]string
- func (a *StrArray) X删除(索引 int) (值 string, 成功 bool)
- func (a *StrArray) X删除值(值 string) bool
- func (a *StrArray) X删除多个值(值 ...string)
- func (a *StrArray) X删除所有空值() *StrArray
- func (a *StrArray) X去重() *StrArray
- func (a *StrArray) X取any数组() []interface{}
- func (a *StrArray) X取值(索引 int) (值 string)
- func (a *StrArray) X取值2(索引 int) (值 string, 成功 bool)
- func (a *StrArray) X取值随机() (值 string, 成功 bool)
- func (a *StrArray) X取值随机多个(数量 int) []string
- func (a *StrArray) X取副本() (新数组 *StrArray)
- func (a *StrArray) X取数组() []string
- func (a *StrArray) X取数组并按数量(起点 int, 数量 ...int) []string
- func (a *StrArray) X取数组并按范围(起点 int, 终点 ...int) []string
- func (a *StrArray) X取文本() string
- func (a *StrArray) X取长度() int
- func (a *StrArray) X合并(数组 interface{}) *StrArray
- func (a *StrArray) X填充(起点 int, 填充数量 int, 值 string) error
- func (a *StrArray) X填满(总数量 int, 值 string) *StrArray
- func (a *StrArray) X排序函数(回调函数 func(v1, v2 string) bool) *StrArray
- func (a *StrArray) X排序递增(降序 ...bool) *StrArray
- func (a *StrArray) X插入前面(索引 int, 值 ...string) error
- func (a *StrArray) X插入后面(索引 int, 值 ...string) error
- func (a *StrArray) X是否为空() bool
- func (a *StrArray) X是否存在(值 string) bool
- func (a *StrArray) X是否存在并忽略大小写(值 string) bool
- func (a *StrArray) X替换(数组 []string) *StrArray
- func (a *StrArray) X查找(值 string) int
- func (a *StrArray) X求和() (值 int)
- func (a *StrArray) X清空() *StrArray
- func (a *StrArray) X统计() map[string]int
- func (a *StrArray) X设置值(index int, value string) error
- func (a *StrArray) X设置数组(数组 []string) *StrArray
- func (a *StrArray) X连接(连接符 string) string
- func (a *StrArray) X遍历(f func(k int, v string) bool)
- func (a *StrArray) X遍历修改(回调函数 func(value string) string) *StrArray
- func (a *StrArray) X遍历写锁定(回调函数 func(array []string)) *StrArray
- func (a *StrArray) X遍历删除(回调函数 func(索引 int, 值 string) bool) *StrArray
- func (a *StrArray) X遍历升序(回调函数 func(k int, v string) bool)
- func (a *StrArray) X遍历读锁定(回调函数 func(array []string)) *StrArray
- func (a *StrArray) X遍历降序(回调函数 func(k int, v string) bool)
- func (a *StrArray) X随机排序() *StrArray
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Array ¶
type Array struct {
// contains filtered or unexported fields
}
Array 是一个功能丰富的 Go 语言数组。 它包含一个并发安全/不安全的开关,应该在初始化时设置,并且不能随后更改。 md5:e0c9364387271f37
func NewArray别名 ¶
NewArray别名 是 New 的别名,请查看 New 函数的说明。 md5:aa9968eb61e7efdd
func NewFromCopy别名 ¶
NewFromCopy别名 是 NewArrayFromCopy 的别名。 参考 NewArrayFromCopy 的说明。 md5:5a0cadfeeacb74a6
func X创建并从数组 ¶
newArrayFrom 创建并返回一个具有给定切片 `array` 的数组。 参数 `safe` 用于指定是否在并发安全模式下使用数组,默认为 false。 md5:abda2f52425c13a3
func X创建并从数组复制 ¶
newArrayFromCopy 从给定切片 `array` 的副本创建并返回一个数组。 参数 `safe` 用于指定是否在并发安全模式下使用数组,默认为 false。 md5:d7ac2661190a4f12
func X创建并按大小 ¶
X创建并按大小 创建并返回一个具有给定大小和容量的数组。 参数 `safe` 用于指定是否在并发安全模式下使用数组,默认为 false。 md5:b667b71edd7dd0a0
func (*Array) DeepCopy ¶
func (a *Array) DeepCopy() interface{}
DeepCopy实现当前类型的深拷贝接口。 md5:9cfbcb08109f6ce1
func (Array) MarshalJSON ¶
MarshalJSON实现了json.Marshal接口的MarshalJSON方法。 注意,这里不要使用指针作为接收者。 md5:b4f76062b07a5263
func (*Array) UnmarshalJSON ¶
UnmarshalJSON实现了json.Unmarshal接口的UnmarshalJSON方法。 md5:f6766b88cf3d63c2
func (*Array) UnmarshalValue ¶
UnmarshalValue 是一个接口实现,用于为数组设置任何类型的数据值。 md5:35211e747ab939ab
func (*Array) X分割 ¶
X分割 将一个数组分割成多个子数组,每个子数组的大小由 `size` 决定。最后一个子数组可能包含少于 `size` 个元素。 md5:0f1f74ff34633d24
func (*Array) X删除多个值 ¶
func (a *Array) X删除多个值(值 ...interface{})
X删除多个值 根据`values`移除多个项目。 md5:fbdf68fa6a8cdd26
func (*Array) X删除所有空值 ¶
X删除所有空值 移除数组中的所有空值。 被认为是空的值包括:0,nil,false,"",切片、映射(map)或通道(channel)的长度为0。 md5:da01f627cd0962db
func (*Array) X取any数组 ¶
func (a *Array) X取any数组() []interface{}
X取any数组 将当前数组作为 []interface{} 返回。 md5:f7a2e3459e185314
func (*Array) X取值2 ¶
X取值2 函数通过指定的索引返回值。 如果给定的 `index` 超出了数组范围,`found` 将为 false。 md5:ab300cfc0d6dd8ee
func (*Array) X取数组 ¶
func (a *Array) X取数组() []interface{}
X取数组 返回数组的底层数据。 注意,如果在并发安全的使用情况下,它会返回底层数据的副本,否则返回底层数据的指针。 md5:111cbee45795a58b
func (*Array) X取数组并按数量 ¶
X取数组并按数量 返回数组中指定的一段元素切片。 如果在并发安全的使用场景下,它将返回切片的一个副本;否则返回切片的指针。
如果偏移量(offset)为非负数,序列将从数组的该位置开始。 如果偏移量为负数,序列将从数组末尾向前该距离的位置开始。
如果提供了长度(size)且为正数,那么序列将包含最多这么多元素。 如果数组比指定的长度短,则序列只包含可用的数组元素。 如果长度为负数,则序列将在距离数组末尾该数量的元素处停止。 如果省略长度参数,那么序列将从偏移量开始直到数组末尾的所有元素。
如果切片范围的起始位置超出数组左侧边界,操作将失败。 md5:f87ecd35d1dd7ac8
func (*Array) X取数组并按范围 ¶
X取数组并按范围通过范围选择并返回项目,就像数组[start:end]一样。 请注意,如果在并发安全使用中,它将返回切片的副本;否则返回底层数据的指针。
如果`end`为负数,则偏移量将从数组末尾开始。 如果省略`end`,则序列将包含从`start`到数组结尾的所有内容。 md5:8b71690536bb9ec5
func (*Array) X合并 ¶
X合并 将 `array` 合并到当前数组中。 参数 `array` 可以是任何 garray 或切片类型。 X合并 和 Append 的区别在于,Append 只支持特定的切片类型, 而 X合并 支持更多种类的参数类型。 md5:465caccda38e84f8
func (*Array) X填满 ¶
X填满 用`value`将数组填充到指定的长度。 如果大小为正数,则在右侧填充数组,如果为负数,则在左侧填充。 如果`size`的绝对值小于或等于数组的长度,则不进行填充。 md5:fbe08b371c540418
func (*Array) X遍历删除 ¶
X遍历删除 遍历数组,并使用自定义回调函数过滤元素。 如果回调函数`filter`返回true,它将从数组中移除该元素,否则不做任何操作并继续遍历。 md5:d33873cfb9f1bb38
func (*Array) X遍历升序 ¶
X遍历升序 遍历数组,按照给定的回调函数 `f` 以升序进行只读访问。如果 `f` 返回 true,则继续遍历;否则停止。 md5:8a125e2dd8982d48
type IntArray ¶
type IntArray struct {
// contains filtered or unexported fields
}
IntArray 是一个功能丰富的 Go 语言整数数组。 它包含一个并发安全/不安全的开关,应该在初始化时设置并且不能更改。 md5:f21f7e3fb70f9176
func X创建整数并从数组 ¶
X创建整数并从数组 创建并返回一个具有给定切片 `array` 的整数数组。 参数 `safe` 用于指定是否在并发安全模式下使用数组,默认为 false。 md5:3e01caa77a3b2f1d
func X创建整数并从数组复制 ¶
X创建整数并从数组复制 根据给定的切片 `array` 创建并返回一个数组的副本。 参数 `safe` 用于指定是否使用并发安全的数组,默认为 false。 md5:cbbbaea27760e100
func X创建整数并按大小 ¶
X创建整数并按大小 根据给定的大小和容量创建并返回一个数组。 参数 `safe` 用于指定是否在并发安全的情况下使用数组,默认为 false。 md5:62e71c542c3693ae
func (*IntArray) DeepCopy ¶
func (a *IntArray) DeepCopy() interface{}
DeepCopy实现当前类型的深拷贝接口。 md5:9cfbcb08109f6ce1
func (IntArray) MarshalJSON ¶
MarshalJSON实现了json.Marshal接口的MarshalJSON方法。 注意,这里不要使用指针作为接收者。 md5:b4f76062b07a5263
Example ¶
package main import ( "fmt" garray "gitee.com/go_888/goframe/container/garray" "gitee.com/go_888/goframe/frame/g" "gitee.com/go_888/goframe/internal/json" ) func main() { type Student struct { Id int Name string Scores garray.IntArray } var array garray.IntArray array.X设置数组(g.SliceInt别名{98, 97, 96}) s := Student{ Id: 1, Name: "john", Scores: array, } b, _ := json.Marshal(s) fmt.Println(string(b)) }
Output: {"Id":1,"Name":"john","Scores":[98,97,96]}
func (*IntArray) String ¶
String 将当前数组转换为字符串,其实现方式类似于 json.Marshal。 md5:feda8f29233cde8d
Example ¶
package main import ( "fmt" garray "gitee.com/go_888/goframe/container/garray" "gitee.com/go_888/goframe/frame/g" ) func main() { s := garray.X创建整数并从数组(g.SliceInt别名{10, 20, 15, 30, 40, 50, 60}) fmt.Println(s) fmt.Println(s.String()) }
Output: [10,20,15,30,40,50,60] [10,20,15,30,40,50,60]
func (*IntArray) UnmarshalJSON ¶
UnmarshalJSON实现了json.Unmarshal接口的UnmarshalJSON方法。 md5:f6766b88cf3d63c2
Example ¶
package main import ( "fmt" garray "gitee.com/go_888/goframe/container/garray" "gitee.com/go_888/goframe/internal/json" ) func main() { b := []byte(`{"Id":1,"Name":"john","Scores":[98,96,97]}`) type Student struct { Id int Name string Scores *garray.IntArray } s := Student{} json.Unmarshal(b, &s) fmt.Println(s) }
Output: {1 john [98,96,97]}
func (*IntArray) UnmarshalValue ¶
UnmarshalValue 是一个接口实现,用于为数组设置任何类型的数据值。 md5:35211e747ab939ab
Example ¶
package main import ( "fmt" garray "gitee.com/go_888/goframe/container/garray" "gitee.com/go_888/goframe/frame/g" gconv "gitee.com/go_888/goframe/util/gconv" ) func main() { type Student struct { Name string Scores *garray.IntArray } var s *Student gconv.Struct(g.Map{ "name": "john", "scores": g.SliceInt别名{96, 98, 97}, }, &s) fmt.Println(s) }
Output: &{john [96,98,97]}
func (*IntArray) X出栈右多个 ¶
X出栈右多个 从数组末尾弹出并返回 `size` 个元素。 如果给定的 `size` 大于数组的大小,它将返回数组中的所有元素。 注意,如果给定的 `size` 小于等于 0 或数组为空,它将返回 nil。 md5:4f44f32fbb68fb50
func (*IntArray) X出栈左多个 ¶
X出栈左多个 从数组开始处弹出并返回 `size` 个元素。 如果给定的 `size` 大于数组的长度,它将返回数组中的所有元素。 请注意,如果给定的 `size` 小于等于 0 或数组为空,它将返回 nil。 md5:3ecbe066336a9849
func (*IntArray) X出栈随机多个 ¶
X出栈随机多个 随机地从数组中弹出并返回 `size` 个元素。 如果给定的 `size` 大于数组的大小,它将返回数组的所有元素。 注意,如果给定的 `size` 小于等于 0 或数组为空,它将返回 nil。 md5:9fd270d3d3021d32
func (*IntArray) X分割 ¶
X分割 将一个数组分割成多个子数组,每个子数组的大小由 `size` 决定。最后一个子数组可能包含少于 `size` 个元素。 md5:0f1f74ff34633d24
func (*IntArray) X删除 ¶
X删除 函数通过索引移除一个元素。 如果给定的 `index` 超出了数组范围,`found` 将为 false。 md5:feaf958654838c25
func (*IntArray) X删除值 ¶
X删除值 函数根据值删除一个元素。 如果值在数组中找到,它将返回 true,否则如果未找到则返回 false。 md5:c49c7706ce703d00
func (*IntArray) X取any数组 ¶
func (a *IntArray) X取any数组() []interface{}
X取any数组 将当前数组作为 []interface{} 返回。 md5:f7a2e3459e185314
func (*IntArray) X取值2 ¶
X取值2 函数通过指定的索引返回值。 如果给定的 `index` 超出了数组范围,`found` 将为 false。 md5:ab300cfc0d6dd8ee
func (*IntArray) X取数组 ¶
X取数组 返回数组的底层数据。 注意,如果在并发安全的使用情况下,它会返回底层数据的副本,否则返回底层数据的指针。 md5:111cbee45795a58b
func (*IntArray) X取数组并按数量 ¶
X取数组并按数量 返回数组中指定的一段元素切片。 如果在并发安全的使用场景下,它将返回切片的一个副本;否则返回切片的指针。
如果偏移量(offset)为非负数,序列将从数组的该位置开始。 如果偏移量为负数,序列将从数组末尾向前该距离的位置开始。
如果提供了长度(size)且为正数,那么序列将包含最多这么多元素。 如果数组比指定的长度短,则序列只包含可用的数组元素。 如果长度为负数,则序列将在距离数组末尾该数量的元素处停止。 如果省略长度参数,那么序列将从偏移量开始直到数组末尾的所有元素。
如果切片范围的起始位置超出数组左侧边界,操作将失败。 md5:f87ecd35d1dd7ac8
func (*IntArray) X取数组并按范围 ¶
X取数组并按范围通过范围选择并返回项目,就像数组[start:end]一样。 请注意,如果在并发安全使用中,它将返回切片的副本;否则返回底层数据的指针。
如果`end`为负数,则偏移量将从数组末尾开始。 如果省略`end`,则序列将包含从`start`到数组结尾的所有内容。 md5:8b71690536bb9ec5
func (*IntArray) X合并 ¶
X合并 将 `array` 合并到当前数组中。 参数 `array` 可以是任何 garray 或切片类型。 X合并 和 Append 的区别在于,Append 只支持特定的切片类型, 而 X合并 支持更多种类的参数类型。 md5:465caccda38e84f8
func (*IntArray) X填满 ¶
X填满 用`value`将数组填充到指定的长度。 如果大小为正数,则在右侧填充数组,如果为负数,则在左侧填充。 如果`size`的绝对值小于或等于数组的长度,则不进行填充。 md5:fbe08b371c540418
func (*IntArray) X遍历删除 ¶
X遍历删除 遍历数组,并使用自定义回调函数过滤元素。 如果回调函数`filter`返回true,它将从数组中移除该元素,否则不做任何操作并继续遍历。 md5:d33873cfb9f1bb38
func (*IntArray) X遍历升序 ¶
X遍历升序 遍历数组,按照给定的回调函数 `f` 以升序进行只读访问。如果 `f` 返回 true,则继续遍历;否则停止。 md5:8a125e2dd8982d48
type SortedArray ¶
type SortedArray struct {
// contains filtered or unexported fields
}
SortedArray 是一个功能丰富的 Go 语言排序数组。 默认情况下,它使用递增顺序,但可以通过设置自定义比较器进行更改。 它包含一个并发安全/不安全的开关,该开关应在初始化时设置并且不能更改。 md5:48308289d58755e8
func X创建排序 ¶
func X创建排序(排序函数 func(a, b interface{}) int, 并发安全 ...bool) *SortedArray
X创建排序 创建并返回一个空的排序数组。 参数 `safe` 用于指定是否在并发安全环境下使用数组,默认为 false。 参数 `comparator` 用于比较数组中值的排序, 若返回值小于 0,表示 `a` 小于 `b`;`a` 将插入到 `b` 之前; 若返回值等于 0,表示 `a` 等于 `b`;`a` 将被 `b` 替换; 若返回值大于 0,表示 `a` 大于 `b`;`a` 将插入到 `b` 之后。 md5:72443a89d087c135
func X创建排序并从数组 ¶
func X创建排序并从数组(数组 []interface{}, 排序函数 func(a, b interface{}) int, 并发安全 ...bool) *SortedArray
X创建排序并从数组 根据给定的切片 `array` 创建并返回一个排序数组。 参数 `safe` 用于指定是否使用并发安全的数组,默认为 false。 md5:764ff7e74cab303e
func X创建排序并从数组复制 ¶
func X创建排序并从数组复制(数组 []interface{}, 排序函数 func(a, b interface{}) int, 并发安全 ...bool) *SortedArray
X创建排序并从数组复制 根据给定切片 `array` 的副本创建并返回一个已排序的数组。 参数 `safe` 用于指定是否在并发安全模式下使用数组,默认为 false。 md5:ec79e11f360050f4
func X创建排序并按大小 ¶
func X创建排序并按大小(大小 int, 排序函数 func(a, b interface{}) int, 并发安全 ...bool) *SortedArray
X创建排序并按大小 创建并返回一个给定大小和容量的排序数组。 参数 `safe` 用于指定是否在并发安全模式下使用数组,默认为 false。 md5:827c3309faba84ac
func X创建排序并按范围 ¶
func X创建排序并按范围(起点, 终点, 步长 int, 排序函数 func(a, b interface{}) int, 并发安全 ...bool) *SortedArray
X创建排序并按范围 创建并返回一个从 `start` 到 `end` 的范围,步长为 `step` 的数组。 md5:93c103a8dc8cf9d7
func (*SortedArray) Append别名 ¶
func (a *SortedArray) Append别名(值 ...interface{}) *SortedArray
Append别名 向已排序的数组中添加一个或多个值,数组将始终保持排序状态。 md5:f839b377c2c77f6b
func (*SortedArray) DeepCopy ¶
func (a *SortedArray) DeepCopy() interface{}
DeepCopy实现当前类型的深拷贝接口。 md5:9cfbcb08109f6ce1
func (SortedArray) MarshalJSON ¶
func (a SortedArray) MarshalJSON() ([]byte, error)
MarshalJSON实现了json.Marshal接口的MarshalJSON方法。 注意,这里不要使用指针作为接收者。 md5:b4f76062b07a5263
func (*SortedArray) String ¶
func (a *SortedArray) String() string
String 将当前数组转换为字符串,其实现方式类似于 json.Marshal。 md5:feda8f29233cde8d
func (*SortedArray) UnmarshalJSON ¶
func (a *SortedArray) UnmarshalJSON(b []byte) error
UnmarshalJSON实现了json.Unmarshal接口的UnmarshalJSON方法。 注意,默认情况下,比较器被设置为字符串比较器。 md5:8af2d4d6f742bb31
func (*SortedArray) UnmarshalValue ¶
func (a *SortedArray) UnmarshalValue(value interface{}) (err error)
UnmarshalValue 是一个接口实现,用于为数组设置任何类型的价值。 注意,比较器默认设置为字符串比较器。 md5:5c9d5d1af1e97ec8
func (*SortedArray) X入栈右 ¶
func (a *SortedArray) X入栈右(值 ...interface{}) *SortedArray
X入栈右 将一个或多个值添加到已排序的数组中,数组始终保持排序。它是Append函数的别名,请参阅Append。 md5:34facedfc7e1b731
func (*SortedArray) X出栈右 ¶
func (a *SortedArray) X出栈右() (值 interface{}, 成功 bool)
X出栈右 从数组的末尾弹出并返回一个元素。 注意,如果数组为空,则 `found` 为 false。 md5:207fa7c7c4a04a10
func (*SortedArray) X出栈右多个 ¶
func (a *SortedArray) X出栈右多个(数量 int) []interface{}
X出栈右多个 从数组末尾移除并返回 `size` 个元素。 md5:0b04e6ad99e5349b
func (*SortedArray) X出栈左 ¶
func (a *SortedArray) X出栈左() (值 interface{}, 成功 bool)
X出栈左 从数组的开头弹出并返回一个项目。 注意,如果数组为空,`found` 为 false。 md5:68f14002d84594a4
func (*SortedArray) X出栈左多个 ¶
func (a *SortedArray) X出栈左多个(数量 int) []interface{}
X出栈左多个 从数组开头弹出并返回 `size` 个元素。 md5:4a903258f1fe1dd4
func (*SortedArray) X出栈随机 ¶
func (a *SortedArray) X出栈随机() (值 interface{}, 成功 bool)
X出栈随机 从数组中随机弹出并返回一个元素。 注意,如果数组为空,`found` 将为 false。 md5:29338267db400401
func (*SortedArray) X出栈随机多个 ¶
func (a *SortedArray) X出栈随机多个(数量 int) []interface{}
X出栈随机多个 随机地从数组中弹出并返回 `size` 个元素。 md5:3e1b1cbd52abd4cf
func (*SortedArray) X分割 ¶
func (a *SortedArray) X分割(数量 int) [][]interface{}
X分割 将一个数组分割成多个子数组,每个子数组的大小由 `size` 决定。最后一个子数组可能包含少于 `size` 个元素。 md5:0f1f74ff34633d24
func (*SortedArray) X删除 ¶
func (a *SortedArray) X删除(索引 int) (值 interface{}, 成功 bool)
X删除 函数通过索引移除一个元素。 如果给定的 `index` 超出了数组范围,`found` 将为 false。 md5:feaf958654838c25
func (*SortedArray) X删除值 ¶
func (a *SortedArray) X删除值(值 interface{}) bool
X删除值 函数根据值删除一个元素。 如果值在数组中找到,它将返回 true,否则如果未找到则返回 false。 md5:c49c7706ce703d00
func (*SortedArray) X删除多个值 ¶
func (a *SortedArray) X删除多个值(值 ...interface{})
X删除多个值 通过 `values` 删除一个项目。 md5:05e01eb00e998269
func (*SortedArray) X删除所有nil ¶
func (a *SortedArray) X删除所有nil() *SortedArray
X删除所有nil 删除数组中的所有空值(nil)。 md5:df6d66c2056b4815
func (*SortedArray) X删除所有空值 ¶
func (a *SortedArray) X删除所有空值() *SortedArray
X删除所有空值 移除数组中的所有空值。 被认为是空的值包括:0,nil,false,"",切片、映射(map)或通道(channel)的长度为0。 md5:da01f627cd0962db
func (*SortedArray) X去重 ¶
func (a *SortedArray) X去重() *SortedArray
X去重 函数用于清除非唯一元素,确保数组中的每个元素都是唯一的。 md5:6dfd767cdbb67ed2
func (*SortedArray) X取any数组 ¶
func (a *SortedArray) X取any数组() []interface{}
X取any数组 将当前数组作为 []interface{} 返回。 md5:f7a2e3459e185314
func (*SortedArray) X取值 ¶
func (a *SortedArray) X取值(索引 int) (值 interface{})
X取值 通过指定的索引返回值。 如果给定的`index`超出了数组的范围,它将返回`nil`。 md5:09a7e6585d2eba1a
func (*SortedArray) X取值2 ¶
func (a *SortedArray) X取值2(索引 int) (值 interface{}, 成功 bool)
X取值2 函数通过指定的索引返回值。 如果给定的 `index` 超出了数组范围,`found` 将为 false。 md5:ab300cfc0d6dd8ee
func (*SortedArray) X取值随机 ¶
func (a *SortedArray) X取值随机() (值 interface{}, 成功 bool)
X取值随机 随机从数组中返回一个元素(不进行删除)。 md5:e152d2c5bc15ecd7
func (*SortedArray) X取值随机多个 ¶
func (a *SortedArray) X取值随机多个(数量 int) []interface{}
X取值随机多个 随机从数组中返回 `size` 个元素(不删除)。 md5:09ad7802f8190e3c
func (*SortedArray) X取副本 ¶
func (a *SortedArray) X取副本() (新数组 *SortedArray)
X取副本 返回一个新的数组,它是当前数组的副本。 md5:52ada4030c562295
func (*SortedArray) X取数组 ¶
func (a *SortedArray) X取数组() []interface{}
X取数组 返回数组的底层数据。 注意,如果在并发安全的使用情况下,它会返回底层数据的副本,否则返回底层数据的指针。 md5:111cbee45795a58b
func (*SortedArray) X取数组并按数量 ¶
func (a *SortedArray) X取数组并按数量(起点 int, 数量 ...int) []interface{}
X取数组并按数量 返回数组中指定的一段元素切片。 如果在并发安全的使用场景下,它将返回切片的一个副本;否则返回切片的指针。
如果偏移量(offset)为非负数,序列将从数组的该位置开始。 如果偏移量为负数,序列将从数组末尾向前该距离的位置开始。
如果提供了长度(size)且为正数,那么序列将包含最多这么多元素。 如果数组比指定的长度短,则序列只包含可用的数组元素。 如果长度为负数,则序列将在距离数组末尾该数量的元素处停止。 如果省略长度参数,那么序列将从偏移量开始直到数组末尾的所有元素。
如果切片范围的起始位置超出数组左侧边界,操作将失败。 md5:f87ecd35d1dd7ac8
func (*SortedArray) X取数组并按范围 ¶
func (a *SortedArray) X取数组并按范围(起点 int, 终点 ...int) []interface{}
X取数组并按范围通过范围选择并返回项目,就像数组[start:end]一样。 请注意,如果在并发安全使用中,它将返回切片的副本;否则返回底层数据的指针。
如果`end`为负数,则偏移量将从数组末尾开始。 如果省略`end`,则序列将包含从`start`到数组结尾的所有内容。 md5:8b71690536bb9ec5
func (*SortedArray) X合并 ¶
func (a *SortedArray) X合并(数组 interface{}) *SortedArray
X合并 将 `array` 合并到当前数组中。 参数 `array` 可以是任何 garray 或切片类型。 X合并 和 Append 的区别在于,Append 只支持特定的切片类型, 而 X合并 支持更多种类的参数类型。 md5:465caccda38e84f8
func (*SortedArray) X排序递增 ¶
func (a *SortedArray) X排序递增() *SortedArray
X排序递增 对数组进行升序排序。 参数 `reverse` 控制排序方式,如果为 true,则降序排列(默认为升序)。 md5:35d4650a0f563ccf
func (*SortedArray) X是否存在 ¶
func (a *SortedArray) X是否存在(值 interface{}) bool
X是否存在 检查值是否存在于数组中。 md5:f209e1f30dd53cb2
func (*SortedArray) X查找 ¶
func (a *SortedArray) X查找(值 interface{}) (索引 int)
X查找 在数组中搜索 `value`,返回 `value` 的索引, 如果不存在则返回 -1。 md5:787617bfeade8f93
func (*SortedArray) X清空 ¶
func (a *SortedArray) X清空() *SortedArray
X清空 删除当前数组中的所有项目。 md5:3d9c6d68a5719979
func (*SortedArray) X统计 ¶
func (a *SortedArray) X统计() map[interface{}]int
X统计 计算数组中所有值出现的次数。 md5:95b4772dcb002365
func (*SortedArray) X设置去重 ¶
func (a *SortedArray) X设置去重(去重 bool) *SortedArray
X设置去重 将唯一标记设置到数组中, 这意味着它不包含任何重复的项目。 它还会进行唯一性检查,删除所有重复项。 md5:acbac75bf944670c
func (*SortedArray) X设置排序函数 ¶
func (a *SortedArray) X设置排序函数(排序函数 func(a, b interface{}) int)
X设置排序函数 设置/更改排序的比较器。 当比较器更改时,它会重新对数组进行排序。 md5:1323d8fba2b97b75
func (*SortedArray) X设置数组 ¶
func (a *SortedArray) X设置数组(数组 []interface{}) *SortedArray
X设置数组 使用给定的 `array` 设置底层切片数组。 md5:160b43a5c0ec752c
func (*SortedArray) X连接 ¶
func (a *SortedArray) X连接(连接符 string) string
X连接 使用字符串 `glue` 连接数组元素。 md5:ec3894b049af1251
func (*SortedArray) X遍历 ¶
func (a *SortedArray) X遍历(f func(k int, v interface{}) bool)
X遍历 是 IteratorAsc 的别名。 md5:1bfdea306db62845
func (*SortedArray) X遍历修改 ¶
func (a *SortedArray) X遍历修改(回调函数 func(value interface{}) interface{}) *SortedArray
X遍历修改 将用户提供的函数 `f` 应用到数组的每个元素上。 md5:51e35ea7c2c6525c
func (*SortedArray) X遍历写锁定 ¶
func (a *SortedArray) X遍历写锁定(回调函数 func(array []interface{})) *SortedArray
X遍历写锁定 通过回调函数 `f` 实现写入锁定。 md5:d45a130fa9aa0af2
func (*SortedArray) X遍历删除 ¶
func (a *SortedArray) X遍历删除(回调函数 func(索引 int, 值 interface{}) bool) *SortedArray
X遍历删除 遍历数组,并使用自定义回调函数过滤元素。 如果回调函数`filter`返回true,它将从数组中移除该元素,否则不做任何操作并继续遍历。 md5:d33873cfb9f1bb38
func (*SortedArray) X遍历升序 ¶
func (a *SortedArray) X遍历升序(回调函数 func(k int, v interface{}) bool)
X遍历升序 遍历数组,按照给定的回调函数 `f` 以升序进行只读访问。如果 `f` 返回 true,则继续遍历;否则停止。 md5:8a125e2dd8982d48
func (*SortedArray) X遍历读锁定 ¶
func (a *SortedArray) X遍历读锁定(回调函数 func(array []interface{})) *SortedArray
X遍历读锁定 通过回调函数 `f` 实现读取锁定。 md5:a45deee1e6f17c88
func (*SortedArray) X遍历降序 ¶
func (a *SortedArray) X遍历降序(回调函数 func(k int, v interface{}) bool)
X遍历降序 以降序遍历数组,并使用给定的回调函数`f`进行只读迭代。 如果`f`返回true,则继续遍历;如果返回false,则停止遍历。 md5:ea0a3805bccce0f7
type SortedIntArray ¶
type SortedIntArray struct {
// contains filtered or unexported fields
}
SortedIntArray 是一个具有丰富功能的 Go 语言排序整数数组。 默认情况下,它使用升序排序,但可以通过设置自定义比较器来改变。 它包含一个并发安全/不安全的开关,应在初始化时设置,并且之后不能更改。 md5:5106a295d33aeafe
func X创建整数排序 ¶
func X创建整数排序(并发安全 ...bool) *SortedIntArray
X创建整数排序 创建并返回一个空的排序数组。 参数 `safe` 用于指定是否在并发安全模式下使用数组,默认为 false。 md5:29a3eb47ff7212a7
func X创建整数排序并从数组 ¶
func X创建整数排序并从数组(数组 []int, 并发安全 ...bool) *SortedIntArray
X创建整数排序并从数组 创建并返回一个已排序的整数数组,使用给定的切片 `array`。 参数 `safe` 用于指定是否在并发安全模式下使用数组,默认为 false。 md5:31b8ab8b3ab6bf88
func X创建整数排序并从数组复制 ¶
func X创建整数排序并从数组复制(数组 []int, 并发安全 ...bool) *SortedIntArray
X创建整数排序并从数组复制 从给定切片 `array` 的副本创建并返回一个排序的整数数组。 参数 `safe` 用于指定是否在并发安全模式下使用数组,默认为 false。 md5:b520af8a99d30fcc
func X创建整数排序并带排序函数 ¶
func X创建整数排序并带排序函数(排序函数 func(a, b int) int, 并发安全 ...bool) *SortedIntArray
X创建整数排序并带排序函数 创建并返回一个空的已排序整数数组,使用指定的比较器。 参数 `safe` 用于指定是否在并发安全模式下使用数组,默认为 false。 md5:9049bb870ab7f29a
func X创建整数排序并按大小 ¶
func X创建整数排序并按大小(大小 int, 并发安全 ...bool) *SortedIntArray
X创建整数排序并按大小 创建并返回一个给定大小和容量的有序整数数组。 参数 `safe` 用于指定是否使用并发安全的数组,默认为false。 md5:8ae629092f076b83
func X创建整数排序并按范围 ¶
func X创建整数排序并按范围(起点, 终点, 步长 int, 并发安全 ...bool) *SortedIntArray
X创建整数排序并按范围 根据范围 `start` 到 `end` 以及步长 `step` 创建并返回一个排序后的整数数组。 md5:7835c3ca423dbb6b
func (*SortedIntArray) Append别名 ¶
func (a *SortedIntArray) Append别名(值 ...int) *SortedIntArray
Append别名 向已排序的数组中添加一个或多个值,数组将始终保持排序状态。 md5:f839b377c2c77f6b
func (*SortedIntArray) DeepCopy ¶
func (a *SortedIntArray) DeepCopy() interface{}
DeepCopy实现当前类型的深拷贝接口。 md5:9cfbcb08109f6ce1
func (SortedIntArray) MarshalJSON ¶
func (a SortedIntArray) MarshalJSON() ([]byte, error)
MarshalJSON实现了json.Marshal接口的MarshalJSON方法。 注意,这里不要使用指针作为接收者。 md5:b4f76062b07a5263
func (*SortedIntArray) String ¶
func (a *SortedIntArray) String() string
String 将当前数组转换为字符串,其实现方式类似于 json.Marshal。 md5:feda8f29233cde8d
func (*SortedIntArray) UnmarshalJSON ¶
func (a *SortedIntArray) UnmarshalJSON(b []byte) error
UnmarshalJSON实现了json.Unmarshal接口的UnmarshalJSON方法。 md5:f6766b88cf3d63c2
func (*SortedIntArray) UnmarshalValue ¶
func (a *SortedIntArray) UnmarshalValue(value interface{}) (err error)
UnmarshalValue 是一个接口实现,用于为数组设置任何类型的数据值。 md5:35211e747ab939ab
func (*SortedIntArray) X入栈右 ¶
func (a *SortedIntArray) X入栈右(值 ...int) *SortedIntArray
X入栈右 将一个或多个值添加到已排序的数组中,数组始终保持排序。它是Append函数的别名,请参阅Append。 md5:34facedfc7e1b731
func (*SortedIntArray) X出栈右 ¶
func (a *SortedIntArray) X出栈右() (值 int, 成功 bool)
X出栈右 从数组的末尾弹出并返回一个元素。 注意,如果数组为空,则 `found` 为 false。 md5:207fa7c7c4a04a10
func (*SortedIntArray) X出栈右多个 ¶
func (a *SortedIntArray) X出栈右多个(数量 int) []int
X出栈右多个 从数组末尾弹出并返回 `size` 个元素。 如果给定的 `size` 大于数组的大小,它将返回数组中的所有元素。 注意,如果给定的 `size` 小于等于 0 或数组为空,它将返回 nil。 md5:4f44f32fbb68fb50
func (*SortedIntArray) X出栈左 ¶
func (a *SortedIntArray) X出栈左() (值 int, 成功 bool)
X出栈左 从数组的开头弹出并返回一个项目。 注意,如果数组为空,`found` 为 false。 md5:68f14002d84594a4
func (*SortedIntArray) X出栈左多个 ¶
func (a *SortedIntArray) X出栈左多个(数量 int) []int
X出栈左多个 从数组开始处弹出并返回 `size` 个元素。 如果给定的 `size` 大于数组的长度,它将返回数组中的所有元素。 请注意,如果给定的 `size` 小于等于 0 或数组为空,它将返回 nil。 md5:3ecbe066336a9849
func (*SortedIntArray) X出栈随机 ¶
func (a *SortedIntArray) X出栈随机() (值 int, 成功 bool)
X出栈随机 从数组中随机弹出并返回一个元素。 注意,如果数组为空,`found` 将为 false。 md5:29338267db400401
func (*SortedIntArray) X出栈随机多个 ¶
func (a *SortedIntArray) X出栈随机多个(数量 int) []int
X出栈随机多个 随机地从数组中弹出并返回 `size` 个元素。 如果给定的 `size` 大于数组的大小,它将返回数组的所有元素。 注意,如果给定的 `size` 小于等于 0 或数组为空,它将返回 nil。 md5:9fd270d3d3021d32
func (*SortedIntArray) X分割 ¶
func (a *SortedIntArray) X分割(数量 int) [][]int
X分割 将一个数组分割成多个子数组,每个子数组的大小由 `size` 决定。最后一个子数组可能包含少于 `size` 个元素。 md5:0f1f74ff34633d24
func (*SortedIntArray) X删除 ¶
func (a *SortedIntArray) X删除(索引 int) (值 int, 成功 bool)
X删除 函数通过索引移除一个元素。 如果给定的 `index` 超出了数组范围,`found` 将为 false。 md5:feaf958654838c25
func (*SortedIntArray) X删除值 ¶
func (a *SortedIntArray) X删除值(值 int) bool
X删除值 函数根据值删除一个元素。 如果值在数组中找到,它将返回 true,否则如果未找到则返回 false。 md5:c49c7706ce703d00
func (*SortedIntArray) X删除多个值 ¶
func (a *SortedIntArray) X删除多个值(值 ...int)
X删除多个值 通过 `values` 删除一个项目。 md5:05e01eb00e998269
func (*SortedIntArray) X删除所有空值 ¶
func (a *SortedIntArray) X删除所有空值() *SortedIntArray
X删除所有空值 移除数组中的所有零值。 md5:9155868b39243912
func (*SortedIntArray) X去重 ¶
func (a *SortedIntArray) X去重() *SortedIntArray
X去重 函数用于清除非唯一元素,确保数组中的每个元素都是唯一的。 md5:6dfd767cdbb67ed2
func (*SortedIntArray) X取any数组 ¶
func (a *SortedIntArray) X取any数组() []interface{}
X取any数组 将当前数组作为 []interface{} 返回。 md5:f7a2e3459e185314
func (*SortedIntArray) X取值 ¶
func (a *SortedIntArray) X取值(索引 int) (值 int)
X取值 函数返回指定索引处的值。 如果给定的 `index` 超出了数组的范围,它将返回 `0`。 md5:f1565bd13293ecb5
func (*SortedIntArray) X取值2 ¶
func (a *SortedIntArray) X取值2(索引 int) (值 int, 成功 bool)
X取值2 函数通过指定的索引返回值。 如果给定的 `index` 超出了数组范围,`found` 将为 false。 md5:ab300cfc0d6dd8ee
func (*SortedIntArray) X取值随机 ¶
func (a *SortedIntArray) X取值随机() (值 int, 成功 bool)
X取值随机 随机从数组中返回一个元素(不进行删除)。 md5:e152d2c5bc15ecd7
func (*SortedIntArray) X取值随机多个 ¶
func (a *SortedIntArray) X取值随机多个(数量 int) []int
X取值随机多个 随机从数组中返回 `size` 个元素(不删除)。 md5:09ad7802f8190e3c
func (*SortedIntArray) X取副本 ¶
func (a *SortedIntArray) X取副本() (新数组 *SortedIntArray)
X取副本 返回一个新的数组,它是当前数组的副本。 md5:52ada4030c562295
func (*SortedIntArray) X取数组 ¶
func (a *SortedIntArray) X取数组() []int
X取数组 返回数组的底层数据。 注意,如果在并发安全的使用情况下,它会返回底层数据的副本,否则返回底层数据的指针。 md5:111cbee45795a58b
func (*SortedIntArray) X取数组并按数量 ¶
func (a *SortedIntArray) X取数组并按数量(起点 int, 数量 ...int) []int
X取数组并按数量 返回数组中指定的一段元素切片。 如果在并发安全的使用场景下,它将返回切片的一个副本;否则返回切片的指针。
如果偏移量(offset)为非负数,序列将从数组的该位置开始。 如果偏移量为负数,序列将从数组末尾向前该距离的位置开始。
如果提供了长度(size)且为正数,那么序列将包含最多这么多元素。 如果数组比指定的长度短,则序列只包含可用的数组元素。 如果长度为负数,则序列将在距离数组末尾该数量的元素处停止。 如果省略长度参数,那么序列将从偏移量开始直到数组末尾的所有元素。
如果切片范围的起始位置超出数组左侧边界,操作将失败。 md5:f87ecd35d1dd7ac8
func (*SortedIntArray) X取数组并按范围 ¶
func (a *SortedIntArray) X取数组并按范围(起点 int, 终点 ...int) []int
X取数组并按范围通过范围选择并返回项目,就像数组[start:end]一样。 请注意,如果在并发安全使用中,它将返回切片的副本;否则返回底层数据的指针。
如果`end`为负数,则偏移量将从数组末尾开始。 如果省略`end`,则序列将包含从`start`到数组结尾的所有内容。 md5:8b71690536bb9ec5
func (*SortedIntArray) X取长度 ¶
func (a *SortedIntArray) X取长度() int
X取长度 返回数组的长度。 md5:593b37501e98da95
func (*SortedIntArray) X合并 ¶
func (a *SortedIntArray) X合并(数组 interface{}) *SortedIntArray
X合并 将 `array` 合并到当前数组中。 参数 `array` 可以是任何 garray 或切片类型。 X合并 和 Append 的区别在于,Append 只支持特定的切片类型, 而 X合并 支持更多种类的参数类型。 md5:465caccda38e84f8
func (*SortedIntArray) X排序递增 ¶
func (a *SortedIntArray) X排序递增() *SortedIntArray
X排序递增 按照递增顺序对数组进行排序。 参数 `reverse` 控制排序方式,如果为真,则按递减顺序排序(默认为递增排序)。 md5:13939809cd029411
func (*SortedIntArray) X是否为空 ¶
func (a *SortedIntArray) X是否为空() bool
X是否为空 检查数组是否为空。 md5:fb6684351506a02d
func (*SortedIntArray) X是否存在 ¶
func (a *SortedIntArray) X是否存在(值 int) bool
X是否存在 检查值是否存在于数组中。 md5:f209e1f30dd53cb2
func (*SortedIntArray) X查找 ¶
func (a *SortedIntArray) X查找(值 int) (索引 int)
X查找 在数组中搜索 `value`,返回 `value` 的索引, 如果不存在则返回 -1。 md5:787617bfeade8f93
func (*SortedIntArray) X求和 ¶
func (a *SortedIntArray) X求和() (值 int)
X求和 返回数组中所有值的和。 md5:b2148175a749b162
func (*SortedIntArray) X清空 ¶
func (a *SortedIntArray) X清空() *SortedIntArray
X清空 删除当前数组中的所有项目。 md5:3d9c6d68a5719979
func (*SortedIntArray) X统计 ¶
func (a *SortedIntArray) X统计() map[int]int
X统计 计算数组中所有值出现的次数。 md5:95b4772dcb002365
func (*SortedIntArray) X设置去重 ¶
func (a *SortedIntArray) X设置去重(去重 bool) *SortedIntArray
X设置去重 将唯一标记设置到数组中, 表示数组不包含任何重复的元素。 它还执行唯一性检查,移除所有重复的项。 md5:52bf11e8153b2459
func (*SortedIntArray) X设置数组 ¶
func (a *SortedIntArray) X设置数组(数组 []int) *SortedIntArray
X设置数组 使用给定的 `array` 设置底层切片数组。 md5:160b43a5c0ec752c
func (*SortedIntArray) X连接 ¶
func (a *SortedIntArray) X连接(连接符 string) string
X连接 使用字符串 `glue` 连接数组元素。 md5:ec3894b049af1251
func (*SortedIntArray) X遍历 ¶
func (a *SortedIntArray) X遍历(f func(k int, v int) bool)
X遍历 是 IteratorAsc 的别名。 md5:1bfdea306db62845
func (*SortedIntArray) X遍历修改 ¶
func (a *SortedIntArray) X遍历修改(回调函数 func(value int) int) *SortedIntArray
X遍历修改 将用户提供的函数 `f` 应用到数组的每个元素上。 md5:51e35ea7c2c6525c
func (*SortedIntArray) X遍历写锁定 ¶
func (a *SortedIntArray) X遍历写锁定(回调函数 func(array []int)) *SortedIntArray
X遍历写锁定 通过回调函数 `f` 实现写入锁定。 md5:d45a130fa9aa0af2
func (*SortedIntArray) X遍历删除 ¶
func (a *SortedIntArray) X遍历删除(回调函数 func(索引 int, 值 int) bool) *SortedIntArray
X遍历删除 遍历数组,并使用自定义回调函数过滤元素。 如果回调函数`filter`返回true,它将从数组中移除该元素,否则不做任何操作并继续遍历。 md5:d33873cfb9f1bb38
func (*SortedIntArray) X遍历升序 ¶
func (a *SortedIntArray) X遍历升序(回调函数 func(k int, v int) bool)
X遍历升序 遍历数组,按照给定的回调函数 `f` 以升序进行只读访问。如果 `f` 返回 true,则继续遍历;否则停止。 md5:8a125e2dd8982d48
func (*SortedIntArray) X遍历读锁定 ¶
func (a *SortedIntArray) X遍历读锁定(回调函数 func(array []int)) *SortedIntArray
X遍历读锁定 通过回调函数 `f` 实现读取锁定。 md5:a45deee1e6f17c88
type SortedStrArray ¶
type SortedStrArray struct {
// contains filtered or unexported fields
}
SortedStrArray 是一个具有丰富功能的 Go 语言排序字符串数组。 默认情况下,它使用递增顺序,可以通过设置自定义比较器来改变。 它包含一个并发安全/非安全开关,应在初始化时设置并且不能更改。 md5:5738650138eb500e
func X创建文本排序 ¶
func X创建文本排序(并发安全 ...bool) *SortedStrArray
X创建文本排序 创建并返回一个空的有序数组。 参数 `safe` 用于指定是否使用并发安全的数组, 默认情况下为 false。 md5:99d40d03c8301a35
func X创建文本排序并从数组 ¶
func X创建文本排序并从数组(数组 []string, 并发安全 ...bool) *SortedStrArray
X创建文本排序并从数组 创建并返回一个已排序的数组,使用给定的切片 `array`。 参数 `safe` 用于指定是否在并发安全模式下使用数组,默认为 false。 md5:992cfc5cad0e6f7a
func X创建文本排序并从数组复制 ¶
func X创建文本排序并从数组复制(数组 []string, 并发安全 ...bool) *SortedStrArray
X创建文本排序并从数组复制 根据给定的切片`array`的副本创建并返回一个排序后的数组。 参数`safe`用于指定是否使用并发安全的数组,默认为false。 md5:e8cbae9d3604f7fc
func X创建文本排序并带排序函数 ¶
func X创建文本排序并带排序函数(排序函数 func(a, b string) int, 并发安全 ...bool) *SortedStrArray
X创建文本排序并带排序函数 创建并返回一个使用指定比较器的空排序数组。 参数 `safe` 用于指定是否在并发安全模式下使用数组,默认为 false。 md5:94666fc48998c3d3
func X创建文本排序并按大小 ¶
func X创建文本排序并按大小(大小 int, 并发安全 ...bool) *SortedStrArray
X创建文本排序并按大小 创建并返回一个已排序的数组,给定大小和容量。 参数 `safe` 用于指定是否使用并发安全的数组,默认为 false。 md5:dd1a2b286a0cce79
func (*SortedStrArray) Append别名 ¶
func (a *SortedStrArray) Append别名(值 ...string) *SortedStrArray
Append别名 向已排序的数组中添加一个或多个值,数组将始终保持排序状态。 md5:f839b377c2c77f6b
func (*SortedStrArray) DeepCopy ¶
func (a *SortedStrArray) DeepCopy() interface{}
DeepCopy实现当前类型的深拷贝接口。 md5:9cfbcb08109f6ce1
func (SortedStrArray) MarshalJSON ¶
func (a SortedStrArray) MarshalJSON() ([]byte, error)
MarshalJSON实现了json.Marshal接口的MarshalJSON方法。 注意,这里不要使用指针作为接收者。 md5:b4f76062b07a5263
Example ¶
package main import ( "fmt" garray "gitee.com/go_888/goframe/container/garray" "gitee.com/go_888/goframe/frame/g" "gitee.com/go_888/goframe/internal/json" ) func main() { type Student struct { ID int Name string Levels garray.SortedStrArray } r := garray.X创建文本排序并从数组(g.SliceStr别名{"b", "c", "a"}) s := Student{ ID: 1, Name: "john", Levels: *r, } b, _ := json.Marshal(s) fmt.Println(string(b)) }
Output: {"ID":1,"Name":"john","Levels":["a","b","c"]}
func (*SortedStrArray) String ¶
func (a *SortedStrArray) String() string
String 将当前数组转换为字符串,其实现方式类似于 json.Marshal。 md5:feda8f29233cde8d
Example ¶
package main import ( "fmt" garray "gitee.com/go_888/goframe/container/garray" "gitee.com/go_888/goframe/frame/g" ) func main() { s := garray.X创建文本排序并从数组(g.SliceStr别名{"b", "c", "a"}) fmt.Println(s.String()) }
Output: ["a","b","c"]
func (*SortedStrArray) UnmarshalJSON ¶
func (a *SortedStrArray) UnmarshalJSON(b []byte) error
UnmarshalJSON实现了json.Unmarshal接口的UnmarshalJSON方法。 md5:f6766b88cf3d63c2
Example ¶
package main import ( "fmt" garray "gitee.com/go_888/goframe/container/garray" "gitee.com/go_888/goframe/internal/json" ) func main() { b := []byte(`{"Id":1,"Name":"john","Lessons":["Math","English","Sport"]}`) type Student struct { Id int Name string Lessons *garray.StrArray } s := Student{} json.Unmarshal(b, &s) fmt.Println(s) }
Output: {1 john ["Math","English","Sport"]}
func (*SortedStrArray) UnmarshalValue ¶
func (a *SortedStrArray) UnmarshalValue(value interface{}) (err error)
UnmarshalValue 是一个接口实现,用于为数组设置任何类型的数据值。 md5:35211e747ab939ab
Example ¶
package main import ( "fmt" garray "gitee.com/go_888/goframe/container/garray" "gitee.com/go_888/goframe/frame/g" gconv "gitee.com/go_888/goframe/util/gconv" ) func main() { type Student struct { Name string Lessons *garray.StrArray } var s *Student gconv.Struct(g.Map{ "name": "john", "lessons": []byte(`["Math","English","Sport"]`), }, &s) fmt.Println(s) var s1 *Student gconv.Struct(g.Map{ "name": "john", "lessons": g.SliceStr别名{"Math", "English", "Sport"}, }, &s1) fmt.Println(s1) }
Output: &{john ["Math","English","Sport"]} &{john ["Math","English","Sport"]}
func (*SortedStrArray) X入栈右 ¶
func (a *SortedStrArray) X入栈右(值 ...string) *SortedStrArray
X入栈右 将一个或多个值添加到已排序的数组中,数组始终保持排序。它是Append函数的别名,请参阅Append。 md5:34facedfc7e1b731
func (*SortedStrArray) X出栈右 ¶
func (a *SortedStrArray) X出栈右() (值 string, 成功 bool)
X出栈右 从数组的末尾弹出并返回一个元素。 注意,如果数组为空,则 `found` 为 false。 md5:207fa7c7c4a04a10
func (*SortedStrArray) X出栈右多个 ¶
func (a *SortedStrArray) X出栈右多个(数量 int) []string
X出栈右多个 从数组末尾弹出并返回 `size` 个元素。 如果给定的 `size` 大于数组的大小,它将返回数组中的所有元素。 注意,如果给定的 `size` 小于等于 0 或数组为空,它将返回 nil。 md5:4f44f32fbb68fb50
func (*SortedStrArray) X出栈左 ¶
func (a *SortedStrArray) X出栈左() (值 string, 成功 bool)
X出栈左 从数组的开头弹出并返回一个项目。 注意,如果数组为空,`found` 为 false。 md5:68f14002d84594a4
func (*SortedStrArray) X出栈左多个 ¶
func (a *SortedStrArray) X出栈左多个(数量 int) []string
X出栈左多个 从数组开始处弹出并返回 `size` 个元素。 如果给定的 `size` 大于数组的长度,它将返回数组中的所有元素。 请注意,如果给定的 `size` 小于等于 0 或数组为空,它将返回 nil。 md5:3ecbe066336a9849
func (*SortedStrArray) X出栈随机 ¶
func (a *SortedStrArray) X出栈随机() (值 string, 成功 bool)
X出栈随机 从数组中随机弹出并返回一个元素。 注意,如果数组为空,`found` 将为 false。 md5:29338267db400401
func (*SortedStrArray) X出栈随机多个 ¶
func (a *SortedStrArray) X出栈随机多个(数量 int) []string
X出栈随机多个 随机地从数组中弹出并返回 `size` 个元素。 如果给定的 `size` 大于数组的大小,它将返回数组的所有元素。 注意,如果给定的 `size` 小于等于 0 或数组为空,它将返回 nil。 md5:9fd270d3d3021d32
func (*SortedStrArray) X分割 ¶
func (a *SortedStrArray) X分割(数量 int) [][]string
X分割 将一个数组分割成多个子数组,每个子数组的大小由 `size` 决定。最后一个子数组可能包含少于 `size` 个元素。 md5:0f1f74ff34633d24
func (*SortedStrArray) X删除 ¶
func (a *SortedStrArray) X删除(索引 int) (值 string, 成功 bool)
X删除 函数通过索引移除一个元素。 如果给定的 `index` 超出了数组范围,`found` 将为 false。 md5:feaf958654838c25
func (*SortedStrArray) X删除值 ¶
func (a *SortedStrArray) X删除值(值 string) bool
X删除值 函数根据值删除一个元素。 如果值在数组中找到,它将返回 true,否则如果未找到则返回 false。 md5:c49c7706ce703d00
func (*SortedStrArray) X删除多个值 ¶
func (a *SortedStrArray) X删除多个值(值 ...string)
X删除多个值 通过 `values` 删除一个项目。 md5:05e01eb00e998269
func (*SortedStrArray) X删除所有空值 ¶
func (a *SortedStrArray) X删除所有空值() *SortedStrArray
X删除所有空值 函数移除数组中的所有空字符串值。 md5:2b2e8cd6c844936a
func (*SortedStrArray) X去重 ¶
func (a *SortedStrArray) X去重() *SortedStrArray
X去重 函数用于清除非唯一元素,确保数组中的每个元素都是唯一的。 md5:6dfd767cdbb67ed2
func (*SortedStrArray) X取any数组 ¶
func (a *SortedStrArray) X取any数组() []interface{}
X取any数组 将当前数组作为 []interface{} 返回。 md5:f7a2e3459e185314
func (*SortedStrArray) X取值 ¶
func (a *SortedStrArray) X取值(索引 int) (值 string)
X取值通过指定的索引返回值。 如果给定的`index`超出了数组的范围,它将返回一个空字符串。 md5:2465f6b1e3ac2863
func (*SortedStrArray) X取值2 ¶
func (a *SortedStrArray) X取值2(索引 int) (值 string, 成功 bool)
X取值2 函数通过指定的索引返回值。 如果给定的 `index` 超出了数组范围,`found` 将为 false。 md5:ab300cfc0d6dd8ee
func (*SortedStrArray) X取值随机 ¶
func (a *SortedStrArray) X取值随机() (值 string, 成功 bool)
X取值随机 随机从数组中返回一个元素(不进行删除)。 md5:e152d2c5bc15ecd7
func (*SortedStrArray) X取值随机多个 ¶
func (a *SortedStrArray) X取值随机多个(数量 int) []string
X取值随机多个 随机从数组中返回 `size` 个元素(不删除)。 md5:09ad7802f8190e3c
func (*SortedStrArray) X取副本 ¶
func (a *SortedStrArray) X取副本() (新数组 *SortedStrArray)
X取副本 返回一个新的数组,它是当前数组的副本。 md5:52ada4030c562295
func (*SortedStrArray) X取数组 ¶
func (a *SortedStrArray) X取数组() []string
X取数组 返回数组的底层数据。 注意,如果在并发安全的使用情况下,它会返回底层数据的副本,否则返回底层数据的指针。 md5:111cbee45795a58b
func (*SortedStrArray) X取数组并按数量 ¶
func (a *SortedStrArray) X取数组并按数量(起点 int, 数量 ...int) []string
X取数组并按数量 返回数组中指定的一段元素切片。 如果在并发安全的使用场景下,它将返回切片的一个副本;否则返回切片的指针。
如果偏移量(offset)为非负数,序列将从数组的该位置开始。 如果偏移量为负数,序列将从数组末尾向前该距离的位置开始。
如果提供了长度(size)且为正数,那么序列将包含最多这么多元素。 如果数组比指定的长度短,则序列只包含可用的数组元素。 如果长度为负数,则序列将在距离数组末尾该数量的元素处停止。 如果省略长度参数,那么序列将从偏移量开始直到数组末尾的所有元素。
如果切片范围的起始位置超出数组左侧边界,操作将失败。 md5:f87ecd35d1dd7ac8
func (*SortedStrArray) X取数组并按范围 ¶
func (a *SortedStrArray) X取数组并按范围(起点 int, 终点 ...int) []string
X取数组并按范围通过范围选择并返回项目,就像数组[start:end]一样。 请注意,如果在并发安全使用中,它将返回切片的副本;否则返回底层数据的指针。
如果`end`为负数,则偏移量将从数组末尾开始。 如果省略`end`,则序列将包含从`start`到数组结尾的所有内容。 md5:8b71690536bb9ec5
func (*SortedStrArray) X取长度 ¶
func (a *SortedStrArray) X取长度() int
X取长度 返回数组的长度。 md5:593b37501e98da95
func (*SortedStrArray) X合并 ¶
func (a *SortedStrArray) X合并(数组 interface{}) *SortedStrArray
X合并 将 `array` 合并到当前数组中。 参数 `array` 可以是任何 garray 或切片类型。 X合并 和 Append 的区别在于,Append 只支持特定的切片类型, 而 X合并 支持更多种类的参数类型。 md5:465caccda38e84f8
func (*SortedStrArray) X排序递增 ¶
func (a *SortedStrArray) X排序递增() *SortedStrArray
X排序递增 按照递增顺序对数组进行排序。 参数 `reverse` 控制排序方式,如果为真,则按递减顺序排序(默认为递增排序)。 md5:13939809cd029411
func (*SortedStrArray) X是否为空 ¶
func (a *SortedStrArray) X是否为空() bool
X是否为空 检查数组是否为空。 md5:fb6684351506a02d
func (*SortedStrArray) X是否存在 ¶
func (a *SortedStrArray) X是否存在(值 string) bool
X是否存在 检查值是否存在于数组中。 md5:f209e1f30dd53cb2
func (*SortedStrArray) X是否存在并忽略大小写 ¶
func (a *SortedStrArray) X是否存在并忽略大小写(值 string) bool
X是否存在并忽略大小写 检查数组中是否存在某个值(忽略大小写)。 注意,它内部会遍历整个数组以进行不区分大小写的比较。 md5:faf76a65365aa0ac
func (*SortedStrArray) X查找 ¶
func (a *SortedStrArray) X查找(值 string) (索引 int)
X查找 在数组中搜索 `value`,返回 `value` 的索引, 如果不存在则返回 -1。 md5:787617bfeade8f93
func (*SortedStrArray) X求和 ¶
func (a *SortedStrArray) X求和() (值 int)
X求和 返回数组中所有值的和。 md5:b2148175a749b162
func (*SortedStrArray) X清空 ¶
func (a *SortedStrArray) X清空() *SortedStrArray
X清空 删除当前数组中的所有项目。 md5:3d9c6d68a5719979
func (*SortedStrArray) X统计 ¶
func (a *SortedStrArray) X统计() map[string]int
X统计 计算数组中所有值出现的次数。 md5:95b4772dcb002365
func (*SortedStrArray) X设置去重 ¶
func (a *SortedStrArray) X设置去重(去重 bool) *SortedStrArray
X设置去重 将唯一标记设置到数组中, 表示数组不包含任何重复的元素。 它还执行唯一性检查,移除所有重复的项。 md5:52bf11e8153b2459
func (*SortedStrArray) X设置数组 ¶
func (a *SortedStrArray) X设置数组(数组 []string) *SortedStrArray
X设置数组 使用给定的 `array` 设置底层切片数组。 md5:160b43a5c0ec752c
func (*SortedStrArray) X连接 ¶
func (a *SortedStrArray) X连接(连接符 string) string
X连接 使用字符串 `glue` 连接数组元素。 md5:ec3894b049af1251
func (*SortedStrArray) X遍历 ¶
func (a *SortedStrArray) X遍历(f func(k int, v string) bool)
X遍历 是 IteratorAsc 的别名。 md5:1bfdea306db62845
func (*SortedStrArray) X遍历修改 ¶
func (a *SortedStrArray) X遍历修改(回调函数 func(value string) string) *SortedStrArray
X遍历修改 将用户提供的函数 `f` 应用到数组的每个元素上。 md5:51e35ea7c2c6525c
func (*SortedStrArray) X遍历写锁定 ¶
func (a *SortedStrArray) X遍历写锁定(回调函数 func(array []string)) *SortedStrArray
X遍历写锁定 通过回调函数 `f` 实现写入锁定。 md5:d45a130fa9aa0af2
func (*SortedStrArray) X遍历删除 ¶
func (a *SortedStrArray) X遍历删除(回调函数 func(索引 int, 值 string) bool) *SortedStrArray
X遍历删除 遍历数组,并使用自定义回调函数过滤元素。 如果回调函数`filter`返回true,它将从数组中移除该元素,否则不做任何操作并继续遍历。 md5:d33873cfb9f1bb38
func (*SortedStrArray) X遍历升序 ¶
func (a *SortedStrArray) X遍历升序(回调函数 func(k int, v string) bool)
X遍历升序 遍历数组,按照给定的回调函数 `f` 以升序进行只读访问。如果 `f` 返回 true,则继续遍历;否则停止。 md5:8a125e2dd8982d48
func (*SortedStrArray) X遍历读锁定 ¶
func (a *SortedStrArray) X遍历读锁定(回调函数 func(array []string)) *SortedStrArray
X遍历读锁定 通过回调函数 `f` 实现读取锁定。 md5:a45deee1e6f17c88
type StrArray ¶
type StrArray struct {
// contains filtered or unexported fields
}
StrArray 是一个具有丰富功能的 Go 语言字符串数组。 它包含一个并发安全/不安全的开关,该开关应在初始化时设置,并且之后不能更改。 md5:60bf9d0fe402df8a
func X创建文本并从数组 ¶
X创建文本并从数组 根据给定的切片 `array` 创建并返回一个数组。 参数 `safe` 用于指定是否使用并发安全的数组,默认为 false。 md5:719d22a529b420db
func X创建文本并从数组复制 ¶
X创建文本并从数组复制 根据给定切片 `array` 的副本创建并返回一个数组。 参数 `safe` 用于指定是否在并发安全环境下使用数组,默认为 false。 md5:71bd55b1c0df65be
func X创建文本并按大小 ¶
X创建文本并按大小 创建并返回一个给定大小和容量的数组。 参数 `safe` 用于指定是否在并发安全模式下使用数组,默认为 false。 md5:d419c5b3ffb2a682
func (*StrArray) DeepCopy ¶
func (a *StrArray) DeepCopy() interface{}
DeepCopy实现当前类型的深拷贝接口。 md5:9cfbcb08109f6ce1
func (StrArray) MarshalJSON ¶
MarshalJSON实现了json.Marshal接口的MarshalJSON方法。 注意,这里不要使用指针作为接收者。 md5:b4f76062b07a5263
Example ¶
package main import ( "fmt" "gitee.com/go_888/goframe/internal/json" ) func main() { type Student struct { Id int Name string Lessons []string } s := Student{ Id: 1, Name: "john", Lessons: []string{"Math", "English", "Music"}, } b, _ := json.Marshal(s) fmt.Println(string(b)) }
Output: {"Id":1,"Name":"john","Lessons":["Math","English","Music"]}
func (*StrArray) String ¶
String 将当前数组转换为字符串,其实现方式类似于 json.Marshal。 md5:feda8f29233cde8d
Example ¶
package main import ( "fmt" garray "gitee.com/go_888/goframe/container/garray" "gitee.com/go_888/goframe/frame/g" ) func main() { s := garray.X创建文本并从数组(g.SliceStr别名{"a", "b", "c"}) fmt.Println(s.String()) }
Output: ["a","b","c"]
func (*StrArray) UnmarshalJSON ¶
UnmarshalJSON实现了json.Unmarshal接口的UnmarshalJSON方法。 md5:f6766b88cf3d63c2
Example ¶
package main import ( "fmt" garray "gitee.com/go_888/goframe/container/garray" "gitee.com/go_888/goframe/internal/json" ) func main() { b := []byte(`{"Id":1,"Name":"john","Lessons":["Math","English","Sport"]}`) type Student struct { Id int Name string Lessons *garray.StrArray } s := Student{} json.Unmarshal(b, &s) fmt.Println(s) }
Output: {1 john ["Math","English","Sport"]}
func (*StrArray) UnmarshalValue ¶
UnmarshalValue 是一个接口实现,用于为数组设置任何类型的数据值。 md5:35211e747ab939ab
Example ¶
package main import ( "fmt" garray "gitee.com/go_888/goframe/container/garray" "gitee.com/go_888/goframe/frame/g" gconv "gitee.com/go_888/goframe/util/gconv" ) func main() { type Student struct { Name string Lessons *garray.StrArray } var s *Student gconv.Struct(g.Map{ "name": "john", "lessons": []byte(`["Math","English","Sport"]`), }, &s) fmt.Println(s) var s1 *Student gconv.Struct(g.Map{ "name": "john", "lessons": g.SliceStr别名{"Math", "English", "Sport"}, }, &s1) fmt.Println(s1) }
Output: &{john ["Math","English","Sport"]} &{john ["Math","English","Sport"]}
func (*StrArray) X出栈右多个 ¶
X出栈右多个 从数组末尾弹出并返回 `size` 个元素。 如果给定的 `size` 大于数组的大小,它将返回数组中的所有元素。 注意,如果给定的 `size` 小于等于 0 或数组为空,它将返回 nil。 md5:4f44f32fbb68fb50
func (*StrArray) X出栈左多个 ¶
X出栈左多个 从数组开始处弹出并返回 `size` 个元素。 如果给定的 `size` 大于数组的长度,它将返回数组中的所有元素。 请注意,如果给定的 `size` 小于等于 0 或数组为空,它将返回 nil。 md5:3ecbe066336a9849
func (*StrArray) X出栈随机多个 ¶
X出栈随机多个 随机地从数组中弹出并返回 `size` 个元素。 如果给定的 `size` 大于数组的大小,它将返回数组的所有元素。 注意,如果给定的 `size` 小于等于 0 或数组为空,它将返回 nil。 md5:9fd270d3d3021d32
func (*StrArray) X分割 ¶
X分割 将一个数组分割成多个子数组,每个子数组的大小由 `size` 决定。最后一个子数组可能包含少于 `size` 个元素。 md5:0f1f74ff34633d24
func (*StrArray) X删除 ¶
X删除 函数通过索引移除一个元素。 如果给定的 `index` 超出了数组范围,`found` 将为 false。 md5:feaf958654838c25
func (*StrArray) X删除值 ¶
X删除值 函数根据值删除一个元素。 如果值在数组中找到,它将返回 true,否则如果未找到则返回 false。 md5:c49c7706ce703d00
func (*StrArray) X取any数组 ¶
func (a *StrArray) X取any数组() []interface{}
X取any数组 将当前数组作为 []interface{} 返回。 md5:f7a2e3459e185314
func (*StrArray) X取值2 ¶
X取值2 函数通过指定的索引返回值。 如果给定的 `index` 超出了数组范围,`found` 将为 false。 md5:ab300cfc0d6dd8ee
func (*StrArray) X取数组 ¶
X取数组 返回数组的底层数据。 注意,如果在并发安全的使用情况下,它会返回底层数据的副本,否则返回底层数据的指针。 md5:111cbee45795a58b
func (*StrArray) X取数组并按数量 ¶
X取数组并按数量 返回数组中指定的一段元素切片。 如果在并发安全的使用场景下,它将返回切片的一个副本;否则返回切片的指针。
如果偏移量(offset)为非负数,序列将从数组的该位置开始。 如果偏移量为负数,序列将从数组末尾向前该距离的位置开始。
如果提供了长度(size)且为正数,那么序列将包含最多这么多元素。 如果数组比指定的长度短,则序列只包含可用的数组元素。 如果长度为负数,则序列将在距离数组末尾该数量的元素处停止。 如果省略长度参数,那么序列将从偏移量开始直到数组末尾的所有元素。
如果切片范围的起始位置超出数组左侧边界,操作将失败。 md5:f87ecd35d1dd7ac8
func (*StrArray) X取数组并按范围 ¶
X取数组并按范围通过范围选择并返回项目,就像数组[start:end]一样。 请注意,如果在并发安全使用中,它将返回切片的副本;否则返回底层数据的指针。
如果`end`为负数,则偏移量将从数组末尾开始。 如果省略`end`,则序列将包含从`start`到数组结尾的所有内容。 md5:8b71690536bb9ec5
func (*StrArray) X合并 ¶
X合并 将 `array` 合并到当前数组中。 参数 `array` 可以是任何 garray 或切片类型。 X合并 和 Append 的区别在于,Append 只支持特定的切片类型, 而 X合并 支持更多种类的参数类型。 md5:465caccda38e84f8
func (*StrArray) X填满 ¶
X填满 用`value`将数组填充到指定的长度。 如果大小为正数,则在右侧填充数组,如果为负数,则在左侧填充。 如果`size`的绝对值小于或等于数组的长度,则不进行填充。 md5:fbe08b371c540418
func (*StrArray) X排序递增 ¶
X排序递增 对数组进行升序排序。 参数 `reverse` 控制排序方式,如果为 true,则降序排列(默认为升序)。 md5:35d4650a0f563ccf
func (*StrArray) X是否存在并忽略大小写 ¶
X是否存在并忽略大小写 检查数组中是否存在某个值(忽略大小写)。 注意,它内部会遍历整个数组以进行不区分大小写的比较。 md5:faf76a65365aa0ac
func (*StrArray) X遍历删除 ¶
X遍历删除 遍历数组,并使用自定义回调函数过滤元素。 如果回调函数`filter`返回true,它将从数组中移除该元素,否则不做任何操作并继续遍历。 md5:d33873cfb9f1bb38
func (*StrArray) X遍历升序 ¶
X遍历升序 遍历数组,按照给定的回调函数 `f` 以升序进行只读访问。如果 `f` 返回 true,则继续遍历;否则停止。 md5:8a125e2dd8982d48