Documentation ¶
Overview ¶
包gset提供了各种并发安全/不安全的集合。 md5:bcd5b9cf4b925a06
Index ¶
- type X结构_IntSet
- func (set X结构_IntSet) MarshalJSON() ([]byte, error)
- func (set *X结构_IntSet) String() string
- func (set *X结构_IntSet) UnmarshalJSON(b []byte) error
- func (set *X结构_IntSet) UnmarshalValue(值 interface{}) (错误 error)
- func (set *X结构_IntSet) X写锁定_函数(f func(m map[int]struct{}))
- func (set *X结构_IntSet) X删除(值 int)
- func (set *X结构_IntSet) X加入(值s ...int)
- func (set *X结构_IntSet) X加入值并跳过已存在(值 int) bool
- func (set *X结构_IntSet) X加入值并跳过已存在_函数(值 int, f func() bool) bool
- func (set *X结构_IntSet) X加入值并跳过已存在_并发安全函数(值 int, f func() bool) bool
- func (set *X结构_IntSet) X取交集(集合 ...*X结构_IntSet) (新集合 *X结构_IntSet)
- func (set *X结构_IntSet) X取出() int
- func (set *X结构_IntSet) X取出多个(数量 int) []int
- func (set *X结构_IntSet) X取差集(集合 ...*X结构_IntSet) (新集合 *X结构_IntSet)
- func (set *X结构_IntSet) X取并集(集合 ...*X结构_IntSet) (新集合 *X结构_IntSet)
- func (set *X结构_IntSet) X取成员数() int
- func (set *X结构_IntSet) X取补集(集合 *X结构_IntSet) (新集合 *X结构_IntSet)
- func (set *X结构_IntSet) X取集合数组() []int
- func (set *X结构_IntSet) X取集合文本(连接符 string) string
- func (set *X结构_IntSet) X合并(集合s ...*X结构_IntSet) *X结构_IntSet
- func (set *X结构_IntSet) X是否为子集(父集 *X结构_IntSet) bool
- func (set *X结构_IntSet) X是否存在(值 int) bool
- func (set *X结构_IntSet) X是否相等(待比较集合 *X结构_IntSet) bool
- func (set *X结构_IntSet) X求和() (总和 int)
- func (set *X结构_IntSet) X深拷贝() interface{}
- func (set *X结构_IntSet) X清空()
- func (set *X结构_IntSet) X读锁定_函数(f func(m map[int]struct{}))
- func (set *X结构_IntSet) X遍历(回调函数 func(值 int) bool)
- func (set *X结构_IntSet) X遍历修改(f func(item int) int) *X结构_IntSet
- type X结构_StrSet
- func (set X结构_StrSet) MarshalJSON() ([]byte, error)
- func (set *X结构_StrSet) String() string
- func (set *X结构_StrSet) UnmarshalJSON(b []byte) error
- func (set *X结构_StrSet) UnmarshalValue(值 interface{}) (错误 error)
- func (set *X结构_StrSet) X写锁定_函数(f func(m map[string]struct{}))
- func (set *X结构_StrSet) X删除(值 string)
- func (set *X结构_StrSet) X加入(值s ...string)
- func (set *X结构_StrSet) X加入值并跳过已存在(值 string) bool
- func (set *X结构_StrSet) X加入值并跳过已存在_函数(值 string, f func() bool) bool
- func (set *X结构_StrSet) X加入值并跳过已存在_并发安全函数(值 string, f func() bool) bool
- func (set *X结构_StrSet) X取交集(集合 ...*X结构_StrSet) (新集合 *X结构_StrSet)
- func (set *X结构_StrSet) X取出() string
- func (set *X结构_StrSet) X取出多个(数量 int) []string
- func (set *X结构_StrSet) X取差集(集合 ...*X结构_StrSet) (新集合 *X结构_StrSet)
- func (set *X结构_StrSet) X取并集(集合 ...*X结构_StrSet) (新集合 *X结构_StrSet)
- func (set *X结构_StrSet) X取成员数() int
- func (set *X结构_StrSet) X取补集(集合 *X结构_StrSet) (新集合 *X结构_StrSet)
- func (set *X结构_StrSet) X取集合数组() []string
- func (set *X结构_StrSet) X取集合文本(连接符 string) string
- func (set *X结构_StrSet) X合并(集合s ...*X结构_StrSet) *X结构_StrSet
- func (set *X结构_StrSet) X是否为子集(父集 *X结构_StrSet) bool
- func (set *X结构_StrSet) X是否存在(值 string) bool
- func (set *X结构_StrSet) X是否存在并忽略大小写(值 string) bool
- func (set *X结构_StrSet) X是否相等(待比较集合 *X结构_StrSet) bool
- func (set *X结构_StrSet) X求和() (总和 int)
- func (set *X结构_StrSet) X深拷贝() interface{}
- func (set *X结构_StrSet) X清空()
- func (set *X结构_StrSet) X读锁定_函数(f func(m map[string]struct{}))
- func (set *X结构_StrSet) X遍历(回调函数 func(值 string) bool)
- func (set *X结构_StrSet) X遍历修改(f func(item string) string) *X结构_StrSet
- type X结构_集合
- func (set X结构_集合) MarshalJSON() ([]byte, error)
- func (set *X结构_集合) String() string
- func (set *X结构_集合) UnmarshalJSON(值 []byte) error
- func (set *X结构_集合) UnmarshalValue(值 interface{}) (错误 error)
- func (set *X结构_集合) X写锁定_函数(回调函数 func(m map[interface{}]struct{}))
- func (set *X结构_集合) X删除(值 interface{})
- func (set *X结构_集合) X加入(值s ...interface{})
- func (set *X结构_集合) X加入值并跳过已存在(值 interface{}) bool
- func (set *X结构_集合) X加入值并跳过已存在_函数(值 interface{}, f func() bool) bool
- func (set *X结构_集合) X加入值并跳过已存在_并发安全函数(值 interface{}, 回调函数 func() bool) bool
- func (set *X结构_集合) X取交集(集合 ...*X结构_集合) (新集合 *X结构_集合)
- func (set *X结构_集合) X取出() interface{}
- func (set *X结构_集合) X取出多个(数量 int) []interface{}
- func (set *X结构_集合) X取差集(集合 ...*X结构_集合) (新集合 *X结构_集合)
- func (set *X结构_集合) X取并集(集合 ...*X结构_集合) (新集合 *X结构_集合)
- func (set *X结构_集合) X取成员数() int
- func (set *X结构_集合) X取补集(集合 *X结构_集合) (新集合 *X结构_集合)
- func (set *X结构_集合) X取集合数组() []interface{}
- func (set *X结构_集合) X取集合文本(连接符 string) string
- func (set *X结构_集合) X合并(集合s ...*X结构_集合) *X结构_集合
- func (set *X结构_集合) X是否为子集(父集 *X结构_集合) bool
- func (set *X结构_集合) X是否存在(值 interface{}) bool
- func (set *X结构_集合) X是否相等(待比较集合 *X结构_集合) bool
- func (set *X结构_集合) X求和() (总和 int)
- func (set *X结构_集合) X深拷贝() interface{}
- func (set *X结构_集合) X清空()
- func (set *X结构_集合) X读锁定_函数(回调函数 func(m map[interface{}]struct{}))
- func (set *X结构_集合) X遍历(回调函数 func(值 interface{}) bool)
- func (set *X结构_集合) X遍历修改(回调函数 func(值 interface{}) interface{}) *X结构_集合
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type X结构_IntSet ¶
type X结构_IntSet struct {
// contains filtered or unexported fields
}
func X创建整数 ¶
func X创建整数(并发安全 ...bool) *X结构_IntSet
X创建整数 创建并返回一个新集合,其中包含不重复的元素。 参数 `safe` 用于指定是否在并发安全环境下使用集合,默认为 false。 md5:5ede16db776ad391
func X创建整数并按值 ¶
func X创建整数并按值(整数数组 []int, 并发安全 ...bool) *X结构_IntSet
X创建整数并按值 从`items`创建一个新的整数集合。 md5:473f94b321141021
func (X结构_IntSet) MarshalJSON ¶
func (set X结构_IntSet) MarshalJSON() ([]byte, error)
MarshalJSON 实现了接口 MarshalJSON 以供 json.Marshal 使用。 md5:43c3b36e60a18f9a
func (*X结构_IntSet) String ¶
func (set *X结构_IntSet) String() string
String 将 items 转换为字符串,其实现方式类似于 json.Marshal。 md5:cedb10711c2e5dac
func (*X结构_IntSet) UnmarshalJSON ¶
func (set *X结构_IntSet) UnmarshalJSON(b []byte) error
UnmarshalJSON实现了json.Unmarshal接口的UnmarshalJSON方法。 md5:f6766b88cf3d63c2
func (*X结构_IntSet) UnmarshalValue ¶
func (set *X结构_IntSet) UnmarshalValue(值 interface{}) (错误 error)
UnmarshalValue 是一个接口实现,用于将任何类型的价值设置为集合。 md5:b119247f684920ad
func (*X结构_IntSet) X写锁定_函数 ¶
func (set *X结构_IntSet) X写锁定_函数(f func(m map[int]struct{}))
X写锁定_函数 使用回调函数 `f` 为写入操作加锁。 md5:85d746d8a49edab7
func (*X结构_IntSet) X加入 ¶
func (set *X结构_IntSet) X加入(值s ...int)
X加入 将一个或多个项目添加到集合中。 md5:316141ff7d4b8e45
func (*X结构_IntSet) X加入值并跳过已存在 ¶
func (set *X结构_IntSet) X加入值并跳过已存在(值 int) bool
X加入值并跳过已存在 检查项是否存在于集合中, 如果项不存在于集合中,则将其添加到集合并返回true, 否则不做任何操作并返回false。
注意,如果 `item` 为 nil,它将不做任何操作并返回false。 md5:3d920a290d301fb9
func (*X结构_IntSet) X加入值并跳过已存在_函数 ¶
func (set *X结构_IntSet) X加入值并跳过已存在_函数(值 int, f func() bool) bool
X加入值并跳过已存在_函数 检查项是否存在于集合中, 如果项不存在于集合中,且函数 `f` 返回 true,则将项添加到集合中并返回 true,否则什么都不做并返回 false。
注意,函数 `f` 在写入锁未获取的情况下执行。 md5:7563a3cf864d8a2b
func (*X结构_IntSet) X加入值并跳过已存在_并发安全函数 ¶
func (set *X结构_IntSet) X加入值并跳过已存在_并发安全函数(值 int, f func() bool) bool
X加入值并跳过已存在_并发安全函数 检查项是否存在于集合中, 如果该项不存在于集合中并且函数 `f` 返回 true,那么它会将该项添加到集合中并返回 true; 否则,它不做任何操作并返回 false。
注意,函数 `f` 的执行不在写入锁的保护下进行。 md5:48d67b0145855ed9
func (*X结构_IntSet) X取交集 ¶
func (set *X结构_IntSet) X取交集(集合 ...*X结构_IntSet) (新集合 *X结构_IntSet)
X取交集 返回一个新的集合,这个集合是 `set` 和 `other` 的交集。 这意味着,`newSet` 中的所有元素都既存在于 `set` 中也存在于 `other` 中。 md5:327d3fcc12f06583
func (*X结构_IntSet) X取出多个 ¶
func (set *X结构_IntSet) X取出多个(数量 int) []int
X取出多个 从集合中随机弹出 `size` 个元素。 如果 size == -1,它将返回所有元素。 md5:c687f88e0a2df8f2
func (*X结构_IntSet) X取差集 ¶
func (set *X结构_IntSet) X取差集(集合 ...*X结构_IntSet) (新集合 *X结构_IntSet)
X取差集 返回一个新的集合,它是 `set` 与 `other` 之间的差集。 这意味着,`newSet` 中的所有项目都在 `set` 中,但不在 `other` 中。 md5:6779e6e007651b53
func (*X结构_IntSet) X取并集 ¶
func (set *X结构_IntSet) X取并集(集合 ...*X结构_IntSet) (新集合 *X结构_IntSet)
X取并集 返回一个新集合,它是`set`和`other`的并集。 意味着,`newSet`中的所有项目都在`set`中或在`other`中。 md5:420e241c3c12e8e6
func (*X结构_IntSet) X取补集 ¶
func (set *X结构_IntSet) X取补集(集合 *X结构_IntSet) (新集合 *X结构_IntSet)
X取补集 返回一个新的集合,该集合是`set`在`full`中的补集。 换句话说,`newSet`中的所有元素都在`full`中但不在`set`中。
如果给定的集合`full`不是`set`的全集,它将返回`full`和`set`之间的差集。 md5:7e76900d6f20af06
func (*X结构_IntSet) X取集合数组 ¶
func (set *X结构_IntSet) X取集合数组() []int
X取集合数组 返回集合中的元素作为切片。 md5:f5bc80ac01ae812b
func (*X结构_IntSet) X取集合文本 ¶
func (set *X结构_IntSet) X取集合文本(连接符 string) string
X取集合文本 使用字符串 `glue` 连接多个项目。 md5:c8699391999ac788
func (*X结构_IntSet) X合并 ¶
func (set *X结构_IntSet) X合并(集合s ...*X结构_IntSet) *X结构_IntSet
X合并 将 `others` 集合中的项目合并到 `set` 中。 md5:788b02e300c6f440
func (*X结构_IntSet) X是否为子集 ¶
func (set *X结构_IntSet) X是否为子集(父集 *X结构_IntSet) bool
X是否为子集 检查当前集合是否为 `other` 的子集。 md5:333e392219846e17
func (*X结构_IntSet) X是否存在 ¶
func (set *X结构_IntSet) X是否存在(值 int) bool
X是否存在 检查集合是否包含 `item`。 md5:20a3bdc6aeef1d67
func (*X结构_IntSet) X是否相等 ¶
func (set *X结构_IntSet) X是否相等(待比较集合 *X结构_IntSet) bool
X是否相等 检查两个集合是否相等。 md5:105ea4dd39b57fe8
func (*X结构_IntSet) X求和 ¶
func (set *X结构_IntSet) X求和() (总和 int)
X求和 计算项目总和。 注意:项目应该转换为整数类型, 否则你可能会得到意想不到的结果。 md5:979b37fbf86a5233
func (*X结构_IntSet) X深拷贝 ¶
func (set *X结构_IntSet) X深拷贝() interface{}
X深拷贝实现当前类型的深拷贝接口。 md5:9cfbcb08109f6ce1
func (*X结构_IntSet) X读锁定_函数 ¶
func (set *X结构_IntSet) X读锁定_函数(f func(m map[int]struct{}))
X读锁定_函数 使用回调函数 `f` 进行读取锁定。 md5:5fe2bf1a85ce319e
func (*X结构_IntSet) X遍历 ¶
func (set *X结构_IntSet) X遍历(回调函数 func(值 int) bool)
X遍历 使用给定的回调函数 `f` 遍历只读集合,如果 `f` 返回 true,则继续遍历;否则停止。 md5:b896360b1cf6fc88
func (*X结构_IntSet) X遍历修改 ¶
func (set *X结构_IntSet) X遍历修改(f func(item int) int) *X结构_IntSet
X遍历修改应用用户提供的函数`f`到集合中的每一项。 md5:d6ceaae555e8a9e6
type X结构_StrSet ¶
type X结构_StrSet struct {
// contains filtered or unexported fields
}
func X创建文本 ¶
func X创建文本(并发安全 ...bool) *X结构_StrSet
X创建文本 创建并返回一个新集合,其中包含不重复的元素。 参数 `safe` 用于指定是否在并发安全环境下使用集合,默认为 false。 md5:b4b32102d4f1da78
func X创建文本并按值 ¶
func X创建文本并按值(值 []string, 并发安全 ...bool) *X结构_StrSet
X创建文本并按值 从`items`创建一个新的集合。 md5:6f9a406a984403d2
func (X结构_StrSet) MarshalJSON ¶
func (set X结构_StrSet) MarshalJSON() ([]byte, error)
MarshalJSON 实现了接口 MarshalJSON 以供 json.Marshal 使用。 md5:43c3b36e60a18f9a
func (*X结构_StrSet) String ¶
func (set *X结构_StrSet) String() string
String 将 items 转换为字符串,其实现方式类似于 json.Marshal。 md5:cedb10711c2e5dac
func (*X结构_StrSet) UnmarshalJSON ¶
func (set *X结构_StrSet) UnmarshalJSON(b []byte) error
UnmarshalJSON实现了json.Unmarshal接口的UnmarshalJSON方法。 md5:f6766b88cf3d63c2
func (*X结构_StrSet) UnmarshalValue ¶
func (set *X结构_StrSet) UnmarshalValue(值 interface{}) (错误 error)
UnmarshalValue 是一个接口实现,用于将任何类型的价值设置为集合。 md5:b119247f684920ad
func (*X结构_StrSet) X写锁定_函数 ¶
func (set *X结构_StrSet) X写锁定_函数(f func(m map[string]struct{}))
X写锁定_函数 使用回调函数 `f` 为写入操作加锁。 md5:85d746d8a49edab7
func (*X结构_StrSet) X删除 ¶
func (set *X结构_StrSet) X删除(值 string)
X删除 从集合中删除 `item`。 md5:ab30c696cc44d190
func (*X结构_StrSet) X加入 ¶
func (set *X结构_StrSet) X加入(值s ...string)
X加入 将一个或多个项目添加到集合中。 md5:316141ff7d4b8e45
func (*X结构_StrSet) X加入值并跳过已存在 ¶
func (set *X结构_StrSet) X加入值并跳过已存在(值 string) bool
X加入值并跳过已存在 检查项是否存在于集合中, 如果项不存在于集合中,它会将项添加到集合中并返回 true,否则什么都不做并返回 false。 md5:9cff508c42cffd55
func (*X结构_StrSet) X加入值并跳过已存在_函数 ¶
func (set *X结构_StrSet) X加入值并跳过已存在_函数(值 string, f func() bool) bool
X加入值并跳过已存在_函数 检查项是否存在于集合中, 如果项不存在于集合中,且函数 `f` 返回 true,则将项添加到集合中并返回 true,否则什么都不做并返回 false。
注意,函数 `f` 在写入锁未获取的情况下执行。 md5:7563a3cf864d8a2b
func (*X结构_StrSet) X加入值并跳过已存在_并发安全函数 ¶
func (set *X结构_StrSet) X加入值并跳过已存在_并发安全函数(值 string, f func() bool) bool
X加入值并跳过已存在_并发安全函数 检查项是否存在于集合中, 如果该项不存在于集合中并且函数 `f` 返回 true,那么它会将该项添加到集合中并返回 true; 否则,它不做任何操作并返回 false。
注意,函数 `f` 的执行不在写入锁的保护下进行。 md5:48d67b0145855ed9
func (*X结构_StrSet) X取交集 ¶
func (set *X结构_StrSet) X取交集(集合 ...*X结构_StrSet) (新集合 *X结构_StrSet)
X取交集 返回一个新的集合,这个集合是 `set` 和 `other` 的交集。 这意味着,`newSet` 中的所有元素都既存在于 `set` 中也存在于 `other` 中。 md5:327d3fcc12f06583
func (*X结构_StrSet) X取出多个 ¶
func (set *X结构_StrSet) X取出多个(数量 int) []string
X取出多个 从集合中随机弹出 `size` 个元素。 如果 size == -1,它将返回所有元素。 md5:c687f88e0a2df8f2
func (*X结构_StrSet) X取差集 ¶
func (set *X结构_StrSet) X取差集(集合 ...*X结构_StrSet) (新集合 *X结构_StrSet)
X取差集 返回一个新的集合,它是 `set` 与 `other` 之间的差集。 这意味着,`newSet` 中的所有项目都在 `set` 中,但不在 `other` 中。 md5:6779e6e007651b53
func (*X结构_StrSet) X取并集 ¶
func (set *X结构_StrSet) X取并集(集合 ...*X结构_StrSet) (新集合 *X结构_StrSet)
X取并集 返回一个新集合,它是`set`和`other`的并集。 意味着,`newSet`中的所有项目都在`set`中或在`other`中。 md5:420e241c3c12e8e6
func (*X结构_StrSet) X取补集 ¶
func (set *X结构_StrSet) X取补集(集合 *X结构_StrSet) (新集合 *X结构_StrSet)
X取补集 返回一个新的集合,该集合是`set`在`full`中的补集。 换句话说,`newSet`中的所有元素都在`full`中但不在`set`中。
如果给定的集合`full`不是`set`的全集,它将返回`full`和`set`之间的差集。 md5:7e76900d6f20af06
func (*X结构_StrSet) X取集合数组 ¶
func (set *X结构_StrSet) X取集合数组() []string
X取集合数组 返回集合中的元素作为切片。 md5:f5bc80ac01ae812b
func (*X结构_StrSet) X取集合文本 ¶
func (set *X结构_StrSet) X取集合文本(连接符 string) string
X取集合文本 使用字符串 `glue` 连接多个项目。 md5:c8699391999ac788
func (*X结构_StrSet) X合并 ¶
func (set *X结构_StrSet) X合并(集合s ...*X结构_StrSet) *X结构_StrSet
X合并 将 `others` 集合中的项目合并到 `set` 中。 md5:788b02e300c6f440
func (*X结构_StrSet) X是否为子集 ¶
func (set *X结构_StrSet) X是否为子集(父集 *X结构_StrSet) bool
X是否为子集 检查当前集合是否为 `other` 的子集。 md5:333e392219846e17
func (*X结构_StrSet) X是否存在 ¶
func (set *X结构_StrSet) X是否存在(值 string) bool
X是否存在 检查集合是否包含 `item`。 md5:20a3bdc6aeef1d67
func (*X结构_StrSet) X是否存在并忽略大小写 ¶
func (set *X结构_StrSet) X是否存在并忽略大小写(值 string) bool
X是否存在并忽略大小写 检查集合中是否存在某个值(忽略大小写)。 注意,它内部会遍历整个集合以进行不区分大小写的比较。 md5:851e1bbfa6da1bae
func (*X结构_StrSet) X是否相等 ¶
func (set *X结构_StrSet) X是否相等(待比较集合 *X结构_StrSet) bool
X是否相等 检查两个集合是否相等。 md5:105ea4dd39b57fe8
func (*X结构_StrSet) X求和 ¶
func (set *X结构_StrSet) X求和() (总和 int)
X求和 计算项目总和。 注意:项目应该转换为整数类型, 否则你可能会得到意想不到的结果。 md5:979b37fbf86a5233
func (*X结构_StrSet) X深拷贝 ¶
func (set *X结构_StrSet) X深拷贝() interface{}
X深拷贝实现当前类型的深拷贝接口。 md5:9cfbcb08109f6ce1
func (*X结构_StrSet) X读锁定_函数 ¶
func (set *X结构_StrSet) X读锁定_函数(f func(m map[string]struct{}))
X读锁定_函数 使用回调函数 `f` 进行读取锁定。 md5:5fe2bf1a85ce319e
func (*X结构_StrSet) X遍历 ¶
func (set *X结构_StrSet) X遍历(回调函数 func(值 string) bool)
X遍历 使用给定的回调函数 `f` 遍历只读集合,如果 `f` 返回 true,则继续遍历;否则停止。 md5:b896360b1cf6fc88
func (*X结构_StrSet) X遍历修改 ¶
func (set *X结构_StrSet) X遍历修改(f func(item string) string) *X结构_StrSet
X遍历修改应用用户提供的函数`f`到集合中的每一项。 md5:d6ceaae555e8a9e6
type X结构_集合 ¶
type X结构_集合 struct {
// contains filtered or unexported fields
}
func X弃用_NewSet ¶
X弃用_NewSet 创建并返回一个新的集合,该集合包含不重复的项目。 另请参见 New。 md5:3b8e2b58affe23e6
func (X结构_集合) MarshalJSON ¶
MarshalJSON 实现了接口 MarshalJSON 以供 json.Marshal 使用。 md5:43c3b36e60a18f9a
func (*X结构_集合) UnmarshalJSON ¶
UnmarshalJSON实现了json.Unmarshal接口的UnmarshalJSON方法。 md5:f6766b88cf3d63c2
func (*X结构_集合) UnmarshalValue ¶
UnmarshalValue 是一个接口实现,用于将任何类型的价值设置为集合。 md5:b119247f684920ad
func (*X结构_集合) X写锁定_函数 ¶
func (set *X结构_集合) X写锁定_函数(回调函数 func(m map[interface{}]struct{}))
X写锁定_函数 使用回调函数 `f` 为写入操作加锁。 md5:85d746d8a49edab7
func (*X结构_集合) X加入 ¶
func (set *X结构_集合) X加入(值s ...interface{})
X加入 将一个或多个项目添加到集合中。 md5:316141ff7d4b8e45
func (*X结构_集合) X加入值并跳过已存在 ¶
X加入值并跳过已存在 检查项是否存在于集合中, 如果项不存在于集合中,则将其添加到集合并返回true, 否则不做任何操作并返回false。
注意,如果 `item` 为 nil,它将不做任何操作并返回false。 md5:3d920a290d301fb9
func (*X结构_集合) X加入值并跳过已存在_函数 ¶
X加入值并跳过已存在_函数 检查项目是否存在于集合中, 如果项目不在集合中并且函数 `f` 返回 true,那么它会将项目添加到集合并返回 true,否则不做任何操作并返回 false。
注意,如果 `item` 为 nil,它不做任何操作并返回 false。函数 `f` 在不持有写锁的情况下执行。 md5:f80cf07184bee06f
func (*X结构_集合) X加入值并跳过已存在_并发安全函数 ¶
X加入值并跳过已存在_并发安全函数 检查项是否存在于集合中, 如果项不存在于集合中并且函数 `f` 返回 true,它将在集合中添加该项并返回 true, 否则什么也不做并返回 false。
注意,如果 `item` 为 nil,则什么也不做并返回 false。函数 `f` 在写锁保护下执行。 md5:2a57dc990857b7b1
func (*X结构_集合) X取交集 ¶
X取交集 返回一个新集合,该集合是将`set`与`others`进行交集运算的结果。 这意味着,新集合`newSet`中的所有元素都既存在于`set`中也存在于`others`中。 md5:4db6ae5026f8dedc
func (*X结构_集合) X取差集 ¶
X取差集 返回一个新的集合,它是 `set` 与 `others` 的差集。 意味着,新集合 `newSet` 中的所有项都在 `set` 中但不在 `others` 中。 md5:0fe9ba09d007ac00
func (*X结构_集合) X取并集 ¶
X取并集 返回一个新集合,它是`set`和`others`的并集。 意味着,新集合`newSet`中的所有项目都在`set`中或在`others`中。 md5:81f60d9140026203
func (*X结构_集合) X取补集 ¶
X取补集 返回一个新的集合,该集合是`set`在`full`中的补集。 换句话说,`newSet`中的所有元素都在`full`中但不在`set`中。
如果给定的集合`full`不是`set`的全集,它将返回`full`和`set`之间的差集。 md5:7e76900d6f20af06
func (*X结构_集合) X取集合数组 ¶
func (set *X结构_集合) X取集合数组() []interface{}
X取集合数组 返回集合中的所有项目作为切片。 md5:d07c46cf5dee2602
func (*X结构_集合) X读锁定_函数 ¶
func (set *X结构_集合) X读锁定_函数(回调函数 func(m map[interface{}]struct{}))
X读锁定_函数 使用回调函数 `f` 进行读取锁定。 md5:5fe2bf1a85ce319e