Documentation ¶
Overview ¶
包gmap提供了最常用的映射容器,同时支持并发安全/非安全切换功能。
Index ¶
- type AnyAnyMap
- func (m *AnyAnyMap) DeepCopy() interface{}
- func (m AnyAnyMap) MarshalJSON() ([]byte, error)
- func (m *AnyAnyMap) String() string
- func (m *AnyAnyMap) UnmarshalJSON(b []byte) error
- func (m *AnyAnyMap) UnmarshalValue(value interface{}) (err error)
- func (m *AnyAnyMap) X出栈() (名称, 值 interface{})
- func (m *AnyAnyMap) X出栈多个(数量 int) map[interface{}]interface{}
- func (m *AnyAnyMap) X删除(名称 interface{}) (值 interface{})
- func (m *AnyAnyMap) X删除多个值(名称 []interface{})
- func (m *AnyAnyMap) X删除所有nil值()
- func (m *AnyAnyMap) X删除所有空值()
- func (m *AnyAnyMap) X取Map() map[interface{}]interface{}
- func (m *AnyAnyMap) X取MapStrAny() map[string]interface{}
- func (m *AnyAnyMap) X取值(名称 interface{}) (值 interface{})
- func (m *AnyAnyMap) X取值或设置值(名称 interface{}, 值 interface{}) interface{}
- func (m *AnyAnyMap) X取值或设置值_函数(名称 interface{}, 回调函数 func() interface{}) interface{}
- func (m *AnyAnyMap) X取值或设置值_函数带锁(名称 interface{}, 回调函数 func() interface{}) interface{}
- func (m *AnyAnyMap) X取值或设置值泛型类(名称 interface{}, 值 interface{}) *泛型类.Var
- func (m *AnyAnyMap) X取值或设置值泛型类_函数(名称 interface{}, 回调函 func() interface{}) *泛型类.Var
- func (m *AnyAnyMap) X取值或设置值泛型类_函数带锁(名称 interface{}, 回调函数 func() interface{}) *泛型类.Var
- func (m *AnyAnyMap) X取值泛型类(名称 interface{}) *泛型类.Var
- func (m *AnyAnyMap) X取副本(并发安全 ...bool) *AnyAnyMap
- func (m *AnyAnyMap) X取所有值() []interface{}
- func (m *AnyAnyMap) X取所有名称() []interface{}
- func (m *AnyAnyMap) X取数量() int
- func (m *AnyAnyMap) X合并(map值 *AnyAnyMap)
- func (m *AnyAnyMap) X名称值交换()
- func (m *AnyAnyMap) X是否为子集(父集Map *AnyAnyMap) bool
- func (m *AnyAnyMap) X是否为空() bool
- func (m *AnyAnyMap) X是否存在(名称 interface{}) bool
- func (m *AnyAnyMap) X替换(map值 map[interface{}]interface{})
- func (m *AnyAnyMap) X查找(名称 interface{}) (值 interface{}, 成功 bool)
- func (m *AnyAnyMap) X比较(map值 *AnyAnyMap) (增加的名称, 删除的名称, 更新数据的名称 []interface{})
- func (m *AnyAnyMap) X浅拷贝() map[interface{}]interface{}
- func (m *AnyAnyMap) X清空()
- func (m *AnyAnyMap) X设置值(名称 interface{}, 值 interface{})
- func (m *AnyAnyMap) X设置值Map(map值 map[interface{}]interface{})
- func (m *AnyAnyMap) X设置值并跳过已存在(名称 interface{}, 值 interface{}) bool
- func (m *AnyAnyMap) X设置值并跳过已存在_函数(名称 interface{}, 回调函数 func() interface{}) bool
- func (m *AnyAnyMap) X设置值并跳过已存在_函数带锁(名称 interface{}, 回调函数 func() interface{}) bool
- func (m *AnyAnyMap) X遍历(回调函数 func(k interface{}, v interface{}) bool)
- func (m *AnyAnyMap) X遍历写锁定(回调函数 func(m map[interface{}]interface{}))
- func (m *AnyAnyMap) X遍历读锁定(回调函数 func(m map[interface{}]interface{}))
- type HashMap
- type IntAnyMap
- func (m *IntAnyMap) DeepCopy() interface{}
- func (m IntAnyMap) MarshalJSON() ([]byte, error)
- func (m *IntAnyMap) String() string
- func (m *IntAnyMap) UnmarshalJSON(b []byte) error
- func (m *IntAnyMap) UnmarshalValue(value interface{}) (err error)
- func (m *IntAnyMap) X出栈() (名称 int, 值 interface{})
- func (m *IntAnyMap) X出栈多个(数量 int) map[int]interface{}
- func (m *IntAnyMap) X删除(名称 int) (值 interface{})
- func (m *IntAnyMap) X删除多个值(名称 []int)
- func (m *IntAnyMap) X删除所有nil值()
- func (m *IntAnyMap) X删除所有空值()
- func (m *IntAnyMap) X取Map() map[int]interface{}
- func (m *IntAnyMap) X取MapStrAny() map[string]interface{}
- func (m *IntAnyMap) X取值(名称 int) (值 interface{})
- func (m *IntAnyMap) X取值或设置值(名称 int, 值 interface{}) interface{}
- func (m *IntAnyMap) X取值或设置值_函数(名称 int, 回调函数 func() interface{}) interface{}
- func (m *IntAnyMap) X取值或设置值_函数带锁(名称 int, 回调函数 func() interface{}) interface{}
- func (m *IntAnyMap) X取值或设置值泛型类(名称 int, 值 interface{}) *泛型类.Var
- func (m *IntAnyMap) X取值或设置值泛型类_函数(名称 int, 回调函数 func() interface{}) *泛型类.Var
- func (m *IntAnyMap) X取值或设置值泛型类_函数带锁(名称 int, 回调函数 func() interface{}) *泛型类.Var
- func (m *IntAnyMap) X取值泛型类(名称 int) *泛型类.Var
- func (m *IntAnyMap) X取副本() *IntAnyMap
- func (m *IntAnyMap) X取所有值() []interface{}
- func (m *IntAnyMap) X取所有名称() []int
- func (m *IntAnyMap) X取数量() int
- func (m *IntAnyMap) X合并(map值 *IntAnyMap)
- func (m *IntAnyMap) X名称值交换()
- func (m *IntAnyMap) X是否为子集(父集Map *IntAnyMap) bool
- func (m *IntAnyMap) X是否为空() bool
- func (m *IntAnyMap) X是否存在(名称 int) bool
- func (m *IntAnyMap) X替换(map值 map[int]interface{})
- func (m *IntAnyMap) X查找(名称 int) (值 interface{}, 成功 bool)
- func (m *IntAnyMap) X比较(map值 *IntAnyMap) (增加的名称, 删除的名称, 更新数据的名称 []int)
- func (m *IntAnyMap) X浅拷贝() map[int]interface{}
- func (m *IntAnyMap) X清空()
- func (m *IntAnyMap) X设置值(名称 int, 值 interface{})
- func (m *IntAnyMap) X设置值Map(map值 map[int]interface{})
- func (m *IntAnyMap) X设置值并跳过已存在(名称 int, 值 interface{}) bool
- func (m *IntAnyMap) X设置值并跳过已存在_函数(名称 int, 回调函数 func() interface{}) bool
- func (m *IntAnyMap) X设置值并跳过已存在_函数带锁(名称 int, 回调函数 func() interface{}) bool
- func (m *IntAnyMap) X遍历(回调函数 func(k int, v interface{}) bool)
- func (m *IntAnyMap) X遍历写锁定(回调函数 func(m map[int]interface{}))
- func (m *IntAnyMap) X遍历读锁定(回调函数 func(m map[int]interface{}))
- type IntIntMap
- func (m *IntIntMap) DeepCopy() interface{}
- func (m IntIntMap) MarshalJSON() ([]byte, error)
- func (m *IntIntMap) String() string
- func (m *IntIntMap) UnmarshalJSON(b []byte) error
- func (m *IntIntMap) UnmarshalValue(value interface{}) (err error)
- func (m *IntIntMap) X出栈() (名称, 值 int)
- func (m *IntIntMap) X出栈多个(数量 int) map[int]int
- func (m *IntIntMap) X删除(名称 int) (值 int)
- func (m *IntIntMap) X删除多个值(名称 []int)
- func (m *IntIntMap) X删除所有空值()
- func (m *IntIntMap) X取Map() map[int]int
- func (m *IntIntMap) X取MapStrAny() map[string]interface{}
- func (m *IntIntMap) X取值(名称 int) (值 int)
- func (m *IntIntMap) X取值或设置值(名称 int, 值 int) int
- func (m *IntIntMap) X取值或设置值_函数(名称 int, 回调函数 func() int) int
- func (m *IntIntMap) X取值或设置值_函数带锁(名称 int, 回调函数 func() int) int
- func (m *IntIntMap) X取副本() *IntIntMap
- func (m *IntIntMap) X取所有值() []int
- func (m *IntIntMap) X取所有名称() []int
- func (m *IntIntMap) X取数量() int
- func (m *IntIntMap) X合并(map值 *IntIntMap)
- func (m *IntIntMap) X名称值交换()
- func (m *IntIntMap) X是否为子集(父集Map *IntIntMap) bool
- func (m *IntIntMap) X是否为空() bool
- func (m *IntIntMap) X是否存在(名称 int) bool
- func (m *IntIntMap) X替换(map值 map[int]int)
- func (m *IntIntMap) X查找(名称 int) (值 int, 成功 bool)
- func (m *IntIntMap) X比较(map值 *IntIntMap) (增加的名称, 删除的名称, 更新数据的名称 []int)
- func (m *IntIntMap) X浅拷贝() map[int]int
- func (m *IntIntMap) X清空()
- func (m *IntIntMap) X设置值(名称 int, 值 int)
- func (m *IntIntMap) X设置值Map(map值 map[int]int)
- func (m *IntIntMap) X设置值并跳过已存在(名称 int, 值 int) bool
- func (m *IntIntMap) X设置值并跳过已存在_函数(名称 int, 回调函数 func() int) bool
- func (m *IntIntMap) X设置值并跳过已存在_函数带锁(名称 int, 回调函数 func() int) bool
- func (m *IntIntMap) X遍历(回调函数 func(k int, v int) bool)
- func (m *IntIntMap) X遍历写锁定(回调函数 func(m map[int]int))
- func (m *IntIntMap) X遍历读锁定(回调函数 func(m map[int]int))
- type IntStrMap
- func (m *IntStrMap) DeepCopy() interface{}
- func (m IntStrMap) MarshalJSON() ([]byte, error)
- func (m *IntStrMap) String() string
- func (m *IntStrMap) UnmarshalJSON(b []byte) error
- func (m *IntStrMap) UnmarshalValue(value interface{}) (err error)
- func (m *IntStrMap) X出栈() (名称 int, 值 string)
- func (m *IntStrMap) X出栈多个(数量 int) map[int]string
- func (m *IntStrMap) X删除(名称 int) (值 string)
- func (m *IntStrMap) X删除多个值(名称 []int)
- func (m *IntStrMap) X删除所有空值()
- func (m *IntStrMap) X取Map() map[int]string
- func (m *IntStrMap) X取MapStrAny() map[string]interface{}
- func (m *IntStrMap) X取值(名称 int) (值 string)
- func (m *IntStrMap) X取值或设置值(名称 int, 值 string) string
- func (m *IntStrMap) X取值或设置值_函数(名称 int, 回调函数 func() string) string
- func (m *IntStrMap) X取值或设置值_函数带锁(名称 int, 回调函数 func() string) string
- func (m *IntStrMap) X取副本() *IntStrMap
- func (m *IntStrMap) X取所有值() []string
- func (m *IntStrMap) X取所有名称() []int
- func (m *IntStrMap) X取数量() int
- func (m *IntStrMap) X合并(map值 *IntStrMap)
- func (m *IntStrMap) X名称值交换()
- func (m *IntStrMap) X是否为子集(父集Map *IntStrMap) bool
- func (m *IntStrMap) X是否为空() bool
- func (m *IntStrMap) X是否存在(名称 int) bool
- func (m *IntStrMap) X替换(map值 map[int]string)
- func (m *IntStrMap) X查找(名称 int) (值 string, 成功 bool)
- func (m *IntStrMap) X比较(map值 *IntStrMap) (增加的名称, 删除的名称, 更新数据的名称 []int)
- func (m *IntStrMap) X浅拷贝() map[int]string
- func (m *IntStrMap) X清空()
- func (m *IntStrMap) X设置值(名称 int, 值 string)
- func (m *IntStrMap) X设置值Map(map值 map[int]string)
- func (m *IntStrMap) X设置值并跳过已存在(名称 int, 值 string) bool
- func (m *IntStrMap) X设置值并跳过已存在_函数(名称 int, 回调函数 func() string) bool
- func (m *IntStrMap) X设置值并跳过已存在_函数带锁(名称 int, 回调函数 func() string) bool
- func (m *IntStrMap) X遍历(回调函数 func(k int, v string) bool)
- func (m *IntStrMap) X遍历写锁定(回调函数 func(m map[int]string))
- func (m *IntStrMap) X遍历读锁定(回调函数 func(m map[int]string))
- type ListMap
- func (m *ListMap) DeepCopy() interface{}
- func (m ListMap) MarshalJSON() (jsonBytes []byte, err error)
- func (m *ListMap) String() string
- func (m *ListMap) UnmarshalJSON(b []byte) error
- func (m *ListMap) UnmarshalValue(value interface{}) (err error)
- func (m *ListMap) X出栈() (名称, 值 interface{})
- func (m *ListMap) X出栈多个(数量 int) map[interface{}]interface{}
- func (m *ListMap) X删除(名称 interface{}) (值 interface{})
- func (m *ListMap) X删除多个值(名称 []interface{})
- func (m *ListMap) X删除所有空值()
- func (m *ListMap) X取Map() map[interface{}]interface{}
- func (m *ListMap) X取MapStrAny() map[string]interface{}
- func (m *ListMap) X取值(名称 interface{}) (值 interface{})
- func (m *ListMap) X取值或设置值(名称 interface{}, 值 interface{}) interface{}
- func (m *ListMap) X取值或设置值_函数(名称 interface{}, 回调函数 func() interface{}) interface{}
- func (m *ListMap) X取值或设置值_函数带锁(名称 interface{}, 回调函数 func() interface{}) interface{}
- func (m *ListMap) X取值或设置值泛型类(名称 interface{}, 值 interface{}) *泛型类.Var
- func (m *ListMap) X取值或设置值泛型类_函数(名称 interface{}, 回调函 func() interface{}) *泛型类.Var
- func (m *ListMap) X取值或设置值泛型类_函数带锁(名称 interface{}, 回调函数 func() interface{}) *泛型类.Var
- func (m *ListMap) X取值泛型类(名称 interface{}) *泛型类.Var
- func (m *ListMap) X取副本(并发安全 ...bool) *ListMap
- func (m *ListMap) X取所有值() []interface{}
- func (m *ListMap) X取所有名称() []interface{}
- func (m *ListMap) X取数量() (数量 int)
- func (m *ListMap) X合并(map值 *ListMap)
- func (m *ListMap) X名称值交换()
- func (m *ListMap) X是否为空() bool
- func (m *ListMap) X是否存在(名称 interface{}) (ok bool)
- func (m *ListMap) X替换(map值 map[interface{}]interface{})
- func (m *ListMap) X查找(名称 interface{}) (值 interface{}, 成功 bool)
- func (m *ListMap) X清空()
- func (m *ListMap) X设置值(名称 interface{}, 值 interface{})
- func (m *ListMap) X设置值Map(map值 map[interface{}]interface{})
- func (m *ListMap) X设置值并跳过已存在(名称 interface{}, 值 interface{}) bool
- func (m *ListMap) X设置值并跳过已存在_函数(名称 interface{}, 回调函数 func() interface{}) bool
- func (m *ListMap) X设置值并跳过已存在_函数带锁(名称 interface{}, 回调函数 func() interface{}) bool
- func (m *ListMap) X遍历(回调函数 func(名称, 值 interface{}) bool)
- func (m *ListMap) X遍历升序(回调函数 func(名称 interface{}, 值 interface{}) bool)
- func (m *ListMap) X遍历降序(回调函数 func(名称 interface{}, 值 interface{}) bool)
- type Map
- type StrAnyMap
- func (m *StrAnyMap) DeepCopy() interface{}
- func (m StrAnyMap) MarshalJSON() ([]byte, error)
- func (m *StrAnyMap) String() string
- func (m *StrAnyMap) UnmarshalJSON(b []byte) error
- func (m *StrAnyMap) UnmarshalValue(value interface{}) (err error)
- func (m *StrAnyMap) X出栈() (名称 string, 值 interface{})
- func (m *StrAnyMap) X出栈多个(数量 int) map[string]interface{}
- func (m *StrAnyMap) X删除(名称 string) (值 interface{})
- func (m *StrAnyMap) X删除多个值(名称 []string)
- func (m *StrAnyMap) X删除所有nil值()
- func (m *StrAnyMap) X删除所有空值()
- func (m *StrAnyMap) X取Map() map[string]interface{}
- func (m *StrAnyMap) X取MapStrAny() map[string]interface{}
- func (m *StrAnyMap) X取值(名称 string) (值 interface{})
- func (m *StrAnyMap) X取值或设置值(名称 string, 值 interface{}) interface{}
- func (m *StrAnyMap) X取值或设置值_函数(名称 string, 回调函数 func() interface{}) interface{}
- func (m *StrAnyMap) X取值或设置值_函数带锁(名称 string, 回调函数 func() interface{}) interface{}
- func (m *StrAnyMap) X取值或设置值泛型类(名称 string, 值 interface{}) *泛型类.Var
- func (m *StrAnyMap) X取值或设置值泛型类_函数(名称 string, 回调函数 func() interface{}) *泛型类.Var
- func (m *StrAnyMap) X取值或设置值泛型类_函数带锁(名称 string, 回调函数 func() interface{}) *泛型类.Var
- func (m *StrAnyMap) X取值泛型类(名称 string) *泛型类.Var
- func (m *StrAnyMap) X取副本() *StrAnyMap
- func (m *StrAnyMap) X取所有值() []interface{}
- func (m *StrAnyMap) X取所有名称() []string
- func (m *StrAnyMap) X取数量() int
- func (m *StrAnyMap) X合并(map值 *StrAnyMap)
- func (m *StrAnyMap) X名称值交换()
- func (m *StrAnyMap) X是否为子集(父集Map *StrAnyMap) bool
- func (m *StrAnyMap) X是否为空() bool
- func (m *StrAnyMap) X是否存在(名称 string) bool
- func (m *StrAnyMap) X替换(map值 map[string]interface{})
- func (m *StrAnyMap) X查找(名称 string) (值 interface{}, 成功 bool)
- func (m *StrAnyMap) X比较(map值 *StrAnyMap) (增加的名称, 删除的名称, 更新数据的名称 []string)
- func (m *StrAnyMap) X浅拷贝() map[string]interface{}
- func (m *StrAnyMap) X清空()
- func (m *StrAnyMap) X设置值(名称 string, 值 interface{})
- func (m *StrAnyMap) X设置值Map(map值 map[string]interface{})
- func (m *StrAnyMap) X设置值并跳过已存在(名称 string, 值 interface{}) bool
- func (m *StrAnyMap) X设置值并跳过已存在_函数(名称 string, 回调函数 func() interface{}) bool
- func (m *StrAnyMap) X设置值并跳过已存在_函数带锁(名称 string, 回调函数 func() interface{}) bool
- func (m *StrAnyMap) X遍历(回调函数 func(k string, v interface{}) bool)
- func (m *StrAnyMap) X遍历写锁定(回调函数 func(m map[string]interface{}))
- func (m *StrAnyMap) X遍历读锁定(回调函数 func(m map[string]interface{}))
- type StrIntMap
- func (m *StrIntMap) DeepCopy() interface{}
- func (m StrIntMap) MarshalJSON() ([]byte, error)
- func (m *StrIntMap) String() string
- func (m *StrIntMap) UnmarshalJSON(b []byte) error
- func (m *StrIntMap) UnmarshalValue(value interface{}) (err error)
- func (m *StrIntMap) X出栈() (名称 string, 值 int)
- func (m *StrIntMap) X出栈多个(数量 int) map[string]int
- func (m *StrIntMap) X删除(名称 string) (被删除值 int)
- func (m *StrIntMap) X删除多个值(名称 []string)
- func (m *StrIntMap) X删除所有空值()
- func (m *StrIntMap) X取Map() map[string]int
- func (m *StrIntMap) X取MapStrAny() map[string]interface{}
- func (m *StrIntMap) X取值(名称 string) (值 int)
- func (m *StrIntMap) X取值或设置值(名称 string, 值 int) int
- func (m *StrIntMap) X取值或设置值_函数(名称 string, 回调函数 func() int) int
- func (m *StrIntMap) X取值或设置值_函数带锁(名称 string, 回调函数 func() int) int
- func (m *StrIntMap) X取副本() *StrIntMap
- func (m *StrIntMap) X取所有值() []int
- func (m *StrIntMap) X取所有名称() []string
- func (m *StrIntMap) X取数量() int
- func (m *StrIntMap) X合并(map值 *StrIntMap)
- func (m *StrIntMap) X名称值交换()
- func (m *StrIntMap) X是否为子集(父集Map *StrIntMap) bool
- func (m *StrIntMap) X是否为空() bool
- func (m *StrIntMap) X是否存在(名称 string) bool
- func (m *StrIntMap) X替换(map值 map[string]int)
- func (m *StrIntMap) X查找(名称 string) (值 int, 成功 bool)
- func (m *StrIntMap) X比较(map值 *StrIntMap) (增加的名称, 删除的名称, 更新数据的名称 []string)
- func (m *StrIntMap) X浅拷贝() map[string]int
- func (m *StrIntMap) X清空()
- func (m *StrIntMap) X设置值(名称 string, 值 int)
- func (m *StrIntMap) X设置值Map(map值 map[string]int)
- func (m *StrIntMap) X设置值并跳过已存在(名称 string, 值 int) bool
- func (m *StrIntMap) X设置值并跳过已存在_函数(名称 string, 回调函数 func() int) bool
- func (m *StrIntMap) X设置值并跳过已存在_函数带锁(名称 string, 回调函数 func() int) bool
- func (m *StrIntMap) X遍历(回调函数 func(k string, v int) bool)
- func (m *StrIntMap) X遍历写锁定(回调函数 func(m map[string]int))
- func (m *StrIntMap) X遍历读锁定(回调函数 func(m map[string]int))
- type StrStrMap
- func (m *StrStrMap) DeepCopy() interface{}
- func (m StrStrMap) MarshalJSON() ([]byte, error)
- func (m *StrStrMap) String() string
- func (m *StrStrMap) UnmarshalJSON(b []byte) error
- func (m *StrStrMap) UnmarshalValue(value interface{}) (err error)
- func (m *StrStrMap) X出栈() (名称, 值 string)
- func (m *StrStrMap) X出栈多个(数量 int) map[string]string
- func (m *StrStrMap) X删除(名称 string) (被删除值 string)
- func (m *StrStrMap) X删除多个值(名称 []string)
- func (m *StrStrMap) X删除所有空值()
- func (m *StrStrMap) X取Map() map[string]string
- func (m *StrStrMap) X取MapStrAny() map[string]interface{}
- func (m *StrStrMap) X取值(名称 string) (值 string)
- func (m *StrStrMap) X取值或设置值(名称 string, 值 string) string
- func (m *StrStrMap) X取值或设置值_函数(名称 string, 回调函数 func() string) string
- func (m *StrStrMap) X取值或设置值_函数带锁(名称 string, 回调函数 func() string) string
- func (m *StrStrMap) X取副本() *StrStrMap
- func (m *StrStrMap) X取所有值() []string
- func (m *StrStrMap) X取所有名称() []string
- func (m *StrStrMap) X取数量() int
- func (m *StrStrMap) X合并(map值 *StrStrMap)
- func (m *StrStrMap) X名称值交换()
- func (m *StrStrMap) X是否为子集(父集Map *StrStrMap) bool
- func (m *StrStrMap) X是否为空() bool
- func (m *StrStrMap) X是否存在(名称 string) bool
- func (m *StrStrMap) X替换(map值 map[string]string)
- func (m *StrStrMap) X查找(名称 string) (值 string, 成功 bool)
- func (m *StrStrMap) X比较(map值 *StrStrMap) (增加的名称, 删除的名称, 更新数据的名称 []string)
- func (m *StrStrMap) X浅拷贝() map[string]string
- func (m *StrStrMap) X清空()
- func (m *StrStrMap) X设置值(名称 string, 值 string)
- func (m *StrStrMap) X设置值Map(map值 map[string]string)
- func (m *StrStrMap) X设置值并跳过已存在(名称 string, 值 string) bool
- func (m *StrStrMap) X设置值并跳过已存在_函数(名称 string, 回调函数 func() string) bool
- func (m *StrStrMap) X设置值并跳过已存在_函数带锁(名称 string, 回调函数 func() string) bool
- func (m *StrStrMap) X遍历(回调函数 func(k string, v string) bool)
- func (m *StrStrMap) X遍历写锁定(回调函数 func(m map[string]string))
- func (m *StrStrMap) X遍历读锁定(回调函数 func(m map[string]string))
- type TreeMap
Examples ¶
- AnyAnyMap.MarshalJSON
- AnyAnyMap.String
- AnyAnyMap.UnmarshalJSON
- AnyAnyMap.UnmarshalValue
- IntAnyMap.MarshalJSON
- IntAnyMap.String
- IntAnyMap.UnmarshalJSON
- IntAnyMap.UnmarshalValue
- IntIntMap.MarshalJSON
- IntIntMap.String
- IntIntMap.UnmarshalJSON
- IntIntMap.UnmarshalValue
- ListMap.MarshalJSON
- ListMap.String
- ListMap.UnmarshalJSON
- ListMap.UnmarshalValue
- StrAnyMap.MarshalJSON
- StrAnyMap.String
- StrAnyMap.UnmarshalJSON
- StrAnyMap.UnmarshalValue
- StrIntMap.MarshalJSON
- StrIntMap.String
- StrIntMap.UnmarshalJSON
- StrIntMap.UnmarshalValue
- StrStrMap.MarshalJSON
- StrStrMap.String
- StrStrMap.UnmarshalJSON
- StrStrMap.UnmarshalValue
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AnyAnyMap ¶
type AnyAnyMap struct {
// contains filtered or unexported fields
}
AnyAnyMap 包装了 map 类型 `map[interface{}]interface{}`,并提供了更多的映射功能。
func X创建AnyAny并从Map ¶
NewAnyAnyMapFrom 通过给定的 `data` 地图创建并返回一个哈希映射。 注意,参数 `data` 中的地图将被设置为底层数据地图(无深度复制), 因此在外部修改该映射时可能存在一些并发安全问题。
func (AnyAnyMap) MarshalJSON ¶
MarshalJSON 实现了 json.Marshal 接口所需的 MarshalJSON 方法。
Example ¶
var m map类.Map m.X设置值Map(g.MapAnyAny{ "k1": "v1", "k2": "v2", "k3": "v3", "k4": "v4", }) bytes, err := json.Marshal(&m) if err == nil { fmt.Println(转换类.String(bytes)) }
Output: {"k1":"v1","k2":"v2","k3":"v3","k4":"v4"}
func (*AnyAnyMap) String ¶
String 将映射转换为字符串并返回。
Example ¶
var m map类.Map m.X设置值Map(g.MapAnyAny{ "k1": "v1", }) fmt.Println(m.String()) var m1 *map类.Map = nil fmt.Println(len(m1.String()))
Output: {"k1":"v1"} 0
func (*AnyAnyMap) UnmarshalJSON ¶
UnmarshalJSON 实现了 json.Unmarshal 接口的 UnmarshalJSON 方法。
Example ¶
var m map类.Map m.X设置值Map(g.MapAnyAny{ "k1": "v1", "k2": "v2", "k3": "v3", "k4": "v4", }) var n map类.Map err := json.Unmarshal(转换类.X取字节集(m.String()), &n) if err == nil { fmt.Println(n.X取Map()) }
Output: map[k1:v1 k2:v2 k3:v3 k4:v4]
func (*AnyAnyMap) UnmarshalValue ¶
UnmarshalValue 是一个接口实现,用于为 map 设置任意类型的值。
Example ¶
type User struct { Uid int Name string Pass1 string `gconv:"password1"` Pass2 string `gconv:"password2"` } var ( m map类.AnyAnyMap user = User{ Uid: 1, Name: "john", Pass1: "123", Pass2: "456", } ) if err := 转换类.Scan(user, &m); err == nil { fmt.Printf("%#v", m.X取Map()) }
Output: map[interface {}]interface {}{"Name":"john", "Uid":1, "password1":"123", "password2":"456"}
func (*AnyAnyMap) X删除 ¶
func (m *AnyAnyMap) X删除(名称 interface{}) (值 interface{})
Remove通过给定的`key`从map中删除值,并返回这个被删除的值。
func (*AnyAnyMap) X删除所有空值 ¶
func (m *AnyAnyMap) X删除所有空值()
FilterEmpty 删除所有值为空的键值对。 以下类型的值被视为空:0, nil, false, "", 切片/映射/通道长度为0。
func (*AnyAnyMap) X取Map ¶
func (m *AnyAnyMap) X取Map() map[interface{}]interface{}
Map 返回底层数据映射。 注意,如果它在并发安全的使用场景下,将会返回底层数据的一个副本, 否则将返回指向底层数据的指针。
func (*AnyAnyMap) X取MapStrAny ¶
MapStrAny 返回该映射底层数据的一个副本,类型为 map[string]interface{}。
func (*AnyAnyMap) X取值 ¶
func (m *AnyAnyMap) X取值(名称 interface{}) (值 interface{})
Get 通过给定的 `key` 返回对应的值。
func (*AnyAnyMap) X取值或设置值 ¶
func (m *AnyAnyMap) X取值或设置值(名称 interface{}, 值 interface{}) interface{}
GetOrSet 函数通过 key 返回对应的 value, 若该 key 不存在,则使用给定的 `value` 设置并返回这个设置后的值。
func (*AnyAnyMap) X取值或设置值_函数 ¶
func (m *AnyAnyMap) X取值或设置值_函数(名称 interface{}, 回调函数 func() interface{}) interface{}
GetOrSetFunc 通过键返回值,如果该键不存在, 则使用回调函数 `f` 返回的值进行设置,并随后返回这个设置后的值。
func (*AnyAnyMap) X取值或设置值_函数带锁 ¶
func (m *AnyAnyMap) X取值或设置值_函数带锁(名称 interface{}, 回调函数 func() interface{}) interface{}
GetOrSetFuncLock 通过键返回值,如果该键不存在,则使用回调函数 `f` 返回的值设置并返回这个新值。
GetOrSetFuncLock 与 GetOrSetFunc 函数的不同之处在于,它在哈希映射的 mutex.Lock 保护下执行函数 `f`。
func (*AnyAnyMap) X取值或设置值泛型类 ¶
func (m *AnyAnyMap) X取值或设置值泛型类(名称 interface{}, 值 interface{}) *泛型类.Var
GetVarOrSet 返回一个从 GetOrSet 获取结果的 Var。 返回的 Var 不是线程安全的。
func (*AnyAnyMap) X取值或设置值泛型类_函数 ¶
func (m *AnyAnyMap) X取值或设置值泛型类_函数(名称 interface{}, 回调函 func() interface{}) *泛型类.Var
GetVarOrSetFunc 返回一个 Var,其结果来自 GetOrSetFunc 的调用。 返回的 Var 不具备并发安全特性。
func (*AnyAnyMap) X取值或设置值泛型类_函数带锁 ¶
func (m *AnyAnyMap) X取值或设置值泛型类_函数带锁(名称 interface{}, 回调函数 func() interface{}) *泛型类.Var
GetVarOrSetFuncLock 返回一个 Var,其结果来自 GetOrSetFuncLock。 返回的 Var 不是并发安全的。
func (*AnyAnyMap) X取值泛型类 ¶
func (m *AnyAnyMap) X取值泛型类(名称 interface{}) *泛型类.Var
GetVar 通过给定的 `key` 返回一个具有相应值的 Var。 返回的 Var 不是线程安全的。
func (*AnyAnyMap) X替换 ¶
func (m *AnyAnyMap) X替换(map值 map[interface{}]interface{})
用给定的`data`替换map中的数据。
func (*AnyAnyMap) X比较 ¶
Diff 函数用于比较当前映射 `m` 与映射 `other`,并返回它们不同的键。 返回的 `addedKeys` 是存在于映射 `m` 中但不在映射 `other` 中的键。 返回的 `removedKeys` 是存在于映射 `other` 中但不在映射 `m` 中的键。 返回的 `updatedKeys` 是同时存在于映射 `m` 和 `other` 中,但其对应值不相等(`!=`)的键。
func (*AnyAnyMap) X浅拷贝 ¶
func (m *AnyAnyMap) X浅拷贝() map[interface{}]interface{}
MapCopy 返回哈希映射底层数据的浅复制副本。
func (*AnyAnyMap) X设置值Map ¶
func (m *AnyAnyMap) X设置值Map(map值 map[interface{}]interface{})
Sets批量设置键值对到哈希映射中。
func (*AnyAnyMap) X设置值并跳过已存在 ¶
SetIfNotExist 如果`key`不存在,则将`value`设置到map中,并返回true。 若`key`已存在,则返回false,同时`value`将被忽略。
func (*AnyAnyMap) X设置值并跳过已存在_函数 ¶
SetIfNotExistFunc 使用回调函数`f`的返回值设置键值,并返回true。 若`key`已存在,则返回false,同时`value`将被忽略。
func (*AnyAnyMap) X设置值并跳过已存在_函数带锁 ¶
SetIfNotExistFuncLock 函数用于设置键值对,其值为回调函数 `f` 的返回值,并在设置成功时返回 true。 若 `key` 已存在,则返回 false,并且将忽略 `value` 参数。
SetIfNotExistFuncLock 与 SetIfNotExistFunc 函数的区别在于, 它在执行回调函数 `f` 时会锁定哈希表的 mutex 锁。
type IntAnyMap ¶
type IntAnyMap struct {
// contains filtered or unexported fields
}
IntAnyMap 实现了一个带有 RWMutex(读写互斥锁)且包含 switch 功能的 map[int]interface{} 类型。 在 Go 语言中,这段注释表示 IntAnyMap 结构体或类型定义提供了一种特殊的数据结构,它类似于标准库中的 map[int]interface{},即键为 int 类型,值为 interface{} 类型的映射。同时,该数据结构内部集成了 sync.RWMutex 来保证在并发环境下对映射的安全读写操作,并可能通过 switch 语句来实现某些与同步控制相关的功能逻辑。
func X创建IntAny并从Map ¶
NewIntAnyMapFrom 通过给定的 `data` 创建并返回一个哈希映射。 注意,参数 `data` 中的映射将被设置为底层数据映射(非深度复制), 因此在外部修改该映射时可能会存在一些并发安全问题。
func (IntAnyMap) MarshalJSON ¶
MarshalJSON 实现了 json.Marshal 接口所需的 MarshalJSON 方法。
Example ¶
var m map类.IntAnyMap m.X设置值Map(g.MapIntAny{ 1: "v1", 2: "v2", 3: "v3", 4: "v4", }) bytes, err := json.Marshal(&m) if err == nil { fmt.Println(转换类.String(bytes)) }
Output: {"1":"v1","2":"v2","3":"v3","4":"v4"}
func (*IntAnyMap) String ¶
String 将映射转换为字符串并返回。
Example ¶
var m map类.IntAnyMap m.X设置值Map(g.MapIntAny{ 1: "v1", }) fmt.Println(m.String()) var m1 *map类.IntAnyMap = nil fmt.Println(len(m1.String()))
Output: {"1":"v1"} 0
func (*IntAnyMap) UnmarshalJSON ¶
UnmarshalJSON 实现了 json.Unmarshal 接口的 UnmarshalJSON 方法。
Example ¶
var m map类.IntAnyMap m.X设置值Map(g.MapIntAny{ 1: "v1", 2: "v2", 3: "v3", 4: "v4", }) var n map类.Map err := json.Unmarshal(转换类.X取字节集(m.String()), &n) if err == nil { fmt.Println(n.X取Map()) }
Output: map[1:v1 2:v2 3:v3 4:v4]
func (*IntAnyMap) UnmarshalValue ¶
UnmarshalValue 是一个接口实现,用于为 map 设置任意类型的值。
Example ¶
var m map类.IntAnyMap goWeb := map[int]interface{}{ 1: "goframe", 2: "gin", 3: "echo", } if err := 转换类.Scan(goWeb, &m); err == nil { fmt.Printf("%#v", m.X取Map()) }
Output: map[int]interface {}{1:"goframe", 2:"gin", 3:"echo"}
func (*IntAnyMap) X删除所有空值 ¶
func (m *IntAnyMap) X删除所有空值()
FilterEmpty 删除所有值为空的键值对。 以下类型的值被视为空:0, nil, false, "", 切片/映射/通道长度为0。
func (*IntAnyMap) X取MapStrAny ¶
MapStrAny 返回该映射底层数据的一个副本,类型为 map[string]interface{}。
func (*IntAnyMap) X取值或设置值_函数 ¶
GetOrSetFunc 通过键返回值,如果该键不存在,则使用回调函数 `f` 返回的值设置并返回这个值。
func (*IntAnyMap) X取值或设置值_函数带锁 ¶
GetOrSetFuncLock 通过键返回值,如果不存在,则使用回调函数 `f` 返回的值进行设置并返回这个新值。
GetOrSetFuncLock 与 GetOrSetFunc 函数的不同之处在于,它在哈希映射的 mutex.Lock 保护下执行函数 `f`。
func (*IntAnyMap) X取值或设置值泛型类 ¶
GetVarOrSet 返回一个从 GetVarOrSet 获取结果的 Var。 返回的 Var 对象不保证线程安全。
func (*IntAnyMap) X取值或设置值泛型类_函数 ¶
GetVarOrSetFunc 返回一个 Var,其结果来自 GetOrSetFunc 的调用。 返回的 Var 不具备并发安全特性。
func (*IntAnyMap) X取值或设置值泛型类_函数带锁 ¶
GetVarOrSetFuncLock 返回一个 Var,其结果来自 GetOrSetFuncLock。 返回的 Var 不是并发安全的。
func (*IntAnyMap) X比较 ¶
Diff 函数用于比较当前映射 `m` 与映射 `other`,并返回它们不同的键。 返回的 `addedKeys` 是存在于映射 `m` 中但不在映射 `other` 中的键。 返回的 `removedKeys` 是存在于映射 `other` 中但不在映射 `m` 中的键。 返回的 `updatedKeys` 是同时存在于映射 `m` 和 `other` 中,但其对应值不相等(`!=`)的键。
func (*IntAnyMap) X设置值并跳过已存在 ¶
SetIfNotExist 如果`key`不存在,则将`value`设置到map中,并返回true。 若`key`已存在,则返回false,同时`value`将被忽略。
func (*IntAnyMap) X设置值并跳过已存在_函数 ¶
SetIfNotExistFunc 使用回调函数`f`的返回值设置键值,并返回true。 若`key`已存在,则返回false,同时`value`将被忽略。
func (*IntAnyMap) X设置值并跳过已存在_函数带锁 ¶
SetIfNotExistFuncLock 函数用于设置键值对,其值为回调函数 `f` 的返回值,并在设置成功时返回 true。 若 `key` 已存在,则返回 false,并且将忽略 `value` 参数。
SetIfNotExistFuncLock 与 SetIfNotExistFunc 函数的区别在于, 它在执行回调函数 `f` 时会锁定哈希表的 mutex 锁。
type IntIntMap ¶
type IntIntMap struct {
// contains filtered or unexported fields
}
IntIntMap 实现了一个带有 RWMutex(读写互斥锁)且具有 switch 功能的 map[int]int 类型。 (注:这里的“switch”可能是指在对映射进行操作时,根据操作类型(如读、写)进行相应控制。)
func X创建IntInt并从Map ¶
NewIntIntMapFrom 创建并返回一个由给定的 `data` 地图生成的哈希映射。 注意,参数 `data` 地图将会被直接设置为底层数据地图(非深度复制), 因此在外部修改该映射时可能会存在并发安全问题。 ```go 新建一个整数到整数的哈希映射,其来源是给定的 `data` 映射。 需要注意的是,函数将参数 `data` 映射原样设置为底层的数据映射(并非进行深拷贝处理), 因此,在外部对这个映射进行修改时,可能会引发并发访问安全问题。
func (IntIntMap) MarshalJSON ¶
MarshalJSON 实现了 json.Marshal 接口所需的 MarshalJSON 方法。
Example ¶
var m map类.IntIntMap m.X设置值Map(g.MapIntInt{ 1: 1, 2: 2, 3: 3, 4: 4, }) bytes, err := json.Marshal(&m) if err == nil { fmt.Println(转换类.String(bytes)) }
Output: {"1":1,"2":2,"3":3,"4":4}
func (*IntIntMap) String ¶
String 将映射转换为字符串并返回。
Example ¶
var m map类.IntIntMap m.X设置值Map(g.MapIntInt{ 1: 1, }) fmt.Println(m.String()) var m1 *map类.IntIntMap = nil fmt.Println(len(m1.String()))
Output: {"1":1} 0
func (*IntIntMap) UnmarshalJSON ¶
UnmarshalJSON 实现了 json.Unmarshal 接口的 UnmarshalJSON 方法。
Example ¶
var m map类.IntIntMap m.X设置值Map(g.MapIntInt{ 1: 1, 2: 2, 3: 3, 4: 4, }) var n map类.Map err := json.Unmarshal(转换类.X取字节集(m.String()), &n) if err == nil { fmt.Println(n.X取Map()) }
Output: map[1:1 2:2 3:3 4:4]
func (*IntIntMap) UnmarshalValue ¶
UnmarshalValue 是一个接口实现,用于为 map 设置任意类型的值。
Example ¶
var m map类.IntIntMap n := map[int]int{ 1: 1001, 2: 1002, 3: 1003, } if err := 转换类.Scan(n, &m); err == nil { fmt.Printf("%#v", m.X取Map()) }
Output: map[int]int{1:1001, 2:1002, 3:1003}
func (*IntIntMap) X删除所有空值 ¶
func (m *IntIntMap) X删除所有空值()
FilterEmpty 删除所有值为空的键值对。 以下类型的值被视为空:0, nil, false, "", 切片/映射/通道长度为0。
func (*IntIntMap) X取MapStrAny ¶
MapStrAny 返回该映射底层数据的一个副本,类型为 map[string]interface{}。
func (*IntIntMap) X取值或设置值_函数 ¶
GetOrSetFunc 通过键返回值,如果该键不存在,则使用回调函数 `f` 返回的值设置并返回这个值。
func (*IntIntMap) X取值或设置值_函数带锁 ¶
GetOrSetFuncLock 通过键返回值,如果不存在,则使用回调函数 `f` 返回的值进行设置并返回这个新值。
GetOrSetFuncLock 与 GetOrSetFunc 函数的不同之处在于,它在哈希映射的 mutex.Lock 保护下执行函数 `f`。
func (*IntIntMap) X比较 ¶
Diff 函数用于比较当前映射 `m` 与映射 `other`,并返回它们不同的键。 返回的 `addedKeys` 是存在于映射 `m` 中但不在映射 `other` 中的键。 返回的 `removedKeys` 是存在于映射 `other` 中但不在映射 `m` 中的键。 返回的 `updatedKeys` 是同时存在于映射 `m` 和 `other` 中,但其对应值不相等(`!=`)的键。
func (*IntIntMap) X设置值并跳过已存在 ¶
SetIfNotExist 如果`key`不存在,则将`value`设置到map中,并返回true。 若`key`已存在,则返回false,同时`value`将被忽略。
func (*IntIntMap) X设置值并跳过已存在_函数 ¶
SetIfNotExistFunc 使用回调函数`f`的返回值设置键值,并返回true。 若`key`已存在,则返回false,同时`value`将被忽略。
func (*IntIntMap) X设置值并跳过已存在_函数带锁 ¶
SetIfNotExistFuncLock 函数用于设置键值对,其值为回调函数 `f` 的返回值,并在设置成功时返回 true。 若 `key` 已存在,则返回 false,并且将忽略 `value` 参数。
SetIfNotExistFuncLock 与 SetIfNotExistFunc 函数的区别在于, 它在执行回调函数 `f` 时会锁定哈希表的 mutex 锁。
type IntStrMap ¶
type IntStrMap struct {
// contains filtered or unexported fields
}
IntStrMap 实现了一个带有 RWMutex(读写互斥锁)且具有 switch 功能的 map[int]string 类型。
func X创建IntStr并从Map ¶
NewIntStrMapFrom 创建并返回一个从给定映射 `data` 转换而来的哈希映射。 注意,参数 `data` 中的映射将直接设置为底层数据映射(非深度复制), 因此在外部对映射进行修改时可能会存在并发安全问题。
func (IntStrMap) MarshalJSON ¶
MarshalJSON 实现了 json.Marshal 接口所需的 MarshalJSON 方法。
func (*IntStrMap) UnmarshalJSON ¶
UnmarshalJSON 实现了 json.Unmarshal 接口的 UnmarshalJSON 方法。
func (*IntStrMap) UnmarshalValue ¶
UnmarshalValue 是一个接口实现,用于为 map 设置任意类型的值。
func (*IntStrMap) X删除所有空值 ¶
func (m *IntStrMap) X删除所有空值()
FilterEmpty 删除所有值为空的键值对。 以下类型的值被视为空:0, nil, false, "", 切片/映射/通道长度为0。
func (*IntStrMap) X取MapStrAny ¶
MapStrAny 返回该映射底层数据的一个副本,类型为 map[string]interface{}。
func (*IntStrMap) X取值或设置值_函数 ¶
GetOrSetFunc 通过键返回值,如果该键不存在,则使用回调函数 `f` 返回的值设置并返回这个值。
func (*IntStrMap) X取值或设置值_函数带锁 ¶
GetOrSetFuncLock 通过键返回值,如果不存在,则使用回调函数 `f` 返回的值进行设置并返回这个新值。
GetOrSetFuncLock 与 GetOrSetFunc 函数的不同之处在于,它在哈希映射的 mutex.Lock 保护下执行函数 `f`。
func (*IntStrMap) X比较 ¶
Diff 函数用于比较当前映射 `m` 与映射 `other`,并返回它们不同的键。 返回的 `addedKeys` 是存在于映射 `m` 中但不在映射 `other` 中的键。 返回的 `removedKeys` 是存在于映射 `other` 中但不在映射 `m` 中的键。 返回的 `updatedKeys` 是同时存在于映射 `m` 和 `other` 中,但其对应值不相等(`!=`)的键。
func (*IntStrMap) X设置值并跳过已存在 ¶
SetIfNotExist 如果`key`不存在,则将`value`设置到map中,并返回true。 若`key`已存在,则返回false,同时`value`将被忽略。
func (*IntStrMap) X设置值并跳过已存在_函数 ¶
SetIfNotExistFunc 使用回调函数`f`的返回值设置键值,并返回true。 若`key`已存在,则返回false,同时`value`将被忽略。
func (*IntStrMap) X设置值并跳过已存在_函数带锁 ¶
SetIfNotExistFuncLock 函数用于设置键值对,其值为回调函数 `f` 的返回值,并在设置成功时返回 true。 若 `key` 已存在,则返回 false,并且将忽略 `value` 参数。
SetIfNotExistFuncLock 与 SetIfNotExistFunc 函数的区别在于, 它在执行回调函数 `f` 时会锁定哈希表的 mutex 锁。
type ListMap ¶
type ListMap struct {
// contains filtered or unexported fields
}
ListMap 是一个保留插入顺序的映射。
它底层通过哈希表存储值,并通过双向链表来保存元素的顺序。
该结构不保证线程安全。
参考文献:http://en.wikipedia.org/wiki/关联数组
func X创建链表Map并从Map ¶
NewListMapFrom 从给定的 `data` map 中创建一个链接映射。 注意,参数 `data` 中的映射将被设置为底层数据映射(非深度复制), 因此在外部修改该映射时可能会存在一些并发安全问题。
func X创建链表mp ¶
NewListMap 返回一个空的链式映射。 ListMap 由哈希表(用于存储值)和双向链表(用于存储顺序)作为底层支持。 参数 `safe` 用于指定是否在并发环境中安全地使用映射,默认情况下为 false。 以下是更详细的翻译: ```go NewListMap 函数用于创建并返回一个新的、空的链式映射结构体实例。 这个 ListMap 结构体内部结合了哈希表和双向链表两种数据结构: 哈希表用于高效地存储和查找键值对,而双向链表则用于记录键值对的插入顺序。
参数 `safe` 表示是否需要保证该链式映射在并发环境中的安全性(即线程安全), 如果设置为 true,则在多 goroutine 并发访问时会进行相应的同步控制; 若不特别指定,其默认值为 false,此时不提供并发安全保证。
func (ListMap) MarshalJSON ¶
MarshalJSON 实现了 json.Marshal 接口所需的 MarshalJSON 方法。
Example ¶
var m map类.ListMap m.X设置值("k1", "v1") m.X设置值("k2", "v2") m.X设置值("k3", "v3") m.X设置值("k4", "v4") bytes, err := json.Marshal(&m) if err == nil { fmt.Println(转换类.String(bytes)) }
Output: {"k1":"v1","k2":"v2","k3":"v3","k4":"v4"}
func (*ListMap) String ¶
String 将映射转换为字符串并返回。
Example ¶
var m map类.ListMap m.X设置值Map(g.MapAnyAny{ "k1": "v1", }) fmt.Println(m.String())
Output: {"k1":"v1"}
func (*ListMap) UnmarshalJSON ¶
UnmarshalJSON 实现了 json.Unmarshal 接口的 UnmarshalJSON 方法。
Example ¶
var m map类.ListMap m.X设置值Map(g.MapAnyAny{ "k1": "v1", "k2": "v2", "k3": "v3", "k4": "v4", }) var n map类.ListMap err := json.Unmarshal(转换类.X取字节集(m.String()), &n) if err == nil { fmt.Println(n.X取Map()) }
Output: map[k1:v1 k2:v2 k3:v3 k4:v4]
func (*ListMap) UnmarshalValue ¶
UnmarshalValue 是一个接口实现,用于为 map 设置任意类型的值。
Example ¶
type User struct { Uid int Name string Pass1 string `gconv:"password1"` Pass2 string `gconv:"password2"` } var ( m map类.AnyAnyMap user = User{ Uid: 1, Name: "john", Pass1: "123", Pass2: "456", } ) if err := 转换类.Scan(user, &m); err == nil { fmt.Printf("%#v", m.X取Map()) }
Output: map[interface {}]interface {}{"Name":"john", "Uid":1, "password1":"123", "password2":"456"}
func (*ListMap) X删除 ¶
func (m *ListMap) X删除(名称 interface{}) (值 interface{})
Remove通过给定的`key`从map中删除值,并返回这个被删除的值。
func (*ListMap) X取MapStrAny ¶
MapStrAny 返回该映射底层数据的一个副本,类型为 map[string]interface{}。
func (*ListMap) X取值或设置值 ¶
func (m *ListMap) X取值或设置值(名称 interface{}, 值 interface{}) interface{}
GetOrSet 函数通过 key 返回对应的 value, 若该 key 不存在,则使用给定的 `value` 设置并返回这个设置后的值。
func (*ListMap) X取值或设置值_函数 ¶
func (m *ListMap) X取值或设置值_函数(名称 interface{}, 回调函数 func() interface{}) interface{}
GetOrSetFunc 通过键返回值,如果该键不存在, 则使用回调函数 `f` 返回的值进行设置,并随后返回这个设置后的值。
func (*ListMap) X取值或设置值_函数带锁 ¶
func (m *ListMap) X取值或设置值_函数带锁(名称 interface{}, 回调函数 func() interface{}) interface{}
GetOrSetFuncLock 通过键返回值,如果不存在该键,则使用回调函数`f`返回的值设置该值, 并随后返回这个新设置的值。
GetOrSetFuncLock 与 GetOrSetFunc 函数的不同之处在于, 它在对 map 进行 mutex.Lock 锁定后执行函数 `f`。 这段代码注释翻译成中文后的意思是: ```markdown GetOrSetFuncLock 方法通过给定的键获取值, 若键对应的值不存在,则会使用回调函数 `f` 返回的值进行设置, 并最终返回这个已设置的值。
GetOrSetFuncLock 方法与 GetOrSetFunc 方法的区别在于, 在对映射(map)执行操作前,它会先调用 mutex.Lock 进行锁定。
func (*ListMap) X取值或设置值泛型类 ¶
func (m *ListMap) X取值或设置值泛型类(名称 interface{}, 值 interface{}) *泛型类.Var
GetVarOrSet 返回一个从 GetVarOrSet 获取结果的 Var。 返回的 Var 对象不保证线程安全。
func (*ListMap) X取值或设置值泛型类_函数 ¶
func (m *ListMap) X取值或设置值泛型类_函数(名称 interface{}, 回调函 func() interface{}) *泛型类.Var
GetVarOrSetFunc 返回一个 Var,其结果来自 GetOrSetFunc 的调用。 返回的 Var 不具备并发安全特性。
func (*ListMap) X取值或设置值泛型类_函数带锁 ¶
func (m *ListMap) X取值或设置值泛型类_函数带锁(名称 interface{}, 回调函数 func() interface{}) *泛型类.Var
GetVarOrSetFuncLock 返回一个 Var,其结果来自 GetOrSetFuncLock。 返回的 Var 不是并发安全的。
func (*ListMap) X取值泛型类 ¶
func (m *ListMap) X取值泛型类(名称 interface{}) *泛型类.Var
GetVar 通过给定的 `key` 返回一个具有相应值的 Var。 返回的 Var 不是线程安全的。
func (*ListMap) X设置值Map ¶
func (m *ListMap) X设置值Map(map值 map[interface{}]interface{})
设置批量数据:将键值对设置到映射(map)中。
func (*ListMap) X设置值并跳过已存在 ¶
SetIfNotExist 如果`key`不存在,则将`value`设置到map中,并返回true。 若`key`已存在,则返回false,同时`value`将被忽略。
func (*ListMap) X设置值并跳过已存在_函数 ¶
SetIfNotExistFunc 使用回调函数`f`的返回值设置键值,并返回true。 若`key`已存在,则返回false,同时`value`将被忽略。
func (*ListMap) X设置值并跳过已存在_函数带锁 ¶
SetIfNotExistFuncLock 函数设置键值对,其值为回调函数 `f` 的返回值,并在设置成功时返回 true。 若 `key` 已存在,则返回 false,同时将忽略 `value`。
SetIfNotExistFuncLock 与 SetIfNotExistFunc 函数的区别在于, 它在操作 map 时使用了 mutex.Lock 进行加锁,确保在执行函数 `f` 期间数据同步安全。
type Map ¶
type Map = AnyAnyMap // Map 是 AnyAnyMap 的别名。
func NewHashMapFrom别名 ¶
NewHashMapFrom 通过给定的 map `data` 创建并返回一个哈希映射。 注意,参数 `data` 中的地图将被设置为底层数据映射(非深度拷贝),如果在外部修改此映射,可能会存在一些并发安全问题。 参数 `safe` 用于指定是否在并发安全场景下使用树结构,默认情况下为 false。
func NewHashMap别名 ¶
NewHashMap 创建并返回一个空的哈希映射。 参数 `safe` 用于指定是否使用线程安全的 map,其默认值为 false。
type StrAnyMap ¶
type StrAnyMap struct {
// contains filtered or unexported fields
}
StrAnyMap 实现了带有 RWMutex(读写互斥锁)和 switch 功能的 map[string]interface{}。 ```go StrAnyMap 结构体实现了一个字符串作为键,任意类型作为值的映射,并在此基础上集成了 RWMutex, 以便在多 goroutine 并发访问时进行同步控制。同时它还可能包含 switch 相关的功能逻辑。
type StrAnyMap struct { sync.RWMutex // 使用标准库中的读写互斥锁进行并发控制 m map[string]interface{} // 存储键值对的实际映射数据结构
... 可能包含与switch相关的其他字段和方法 }
func X创建AnyStr并从Map ¶
NewStrAnyMapFrom 通过给定的映射`data`创建并返回一个哈希映射。 注意,参数`data`映射将会被设置为底层数据映射(非深度复制), 因此在外部修改该映射时可能会存在一些并发安全问题。
func (StrAnyMap) MarshalJSON ¶
MarshalJSON 实现了 json.Marshal 接口所需的 MarshalJSON 方法。
Example ¶
var m map类.StrAnyMap m.X设置值Map(g.MapStrAny{ "k1": "v1", "k2": "v2", "k3": "v3", "k4": "v4", }) bytes, err := json.Marshal(&m) if err == nil { fmt.Println(转换类.String(bytes)) }
Output: {"k1":"v1","k2":"v2","k3":"v3","k4":"v4"}
func (*StrAnyMap) String ¶
String 将映射转换为字符串并返回。
Example ¶
var m map类.StrAnyMap m.X设置值Map(g.MapStrAny{ "k1": "v1", }) fmt.Println(m.String()) var m1 *map类.StrAnyMap = nil fmt.Println(len(m1.String()))
Output: {"k1":"v1"} 0
func (*StrAnyMap) UnmarshalJSON ¶
UnmarshalJSON 实现了 json.Unmarshal 接口的 UnmarshalJSON 方法。
Example ¶
var m map类.StrAnyMap m.X设置值Map(g.MapStrAny{ "k1": "v1", "k2": "v2", "k3": "v3", "k4": "v4", }) var n map类.StrAnyMap err := json.Unmarshal(转换类.X取字节集(m.String()), &n) if err == nil { fmt.Println(n.X取Map()) }
Output: map[k1:v1 k2:v2 k3:v3 k4:v4]
func (*StrAnyMap) UnmarshalValue ¶
UnmarshalValue 是一个接口实现,用于为 map 设置任意类型的值。
Example ¶
var m map类.StrAnyMap goWeb := map[string]interface{}{ "goframe": "https://goframe.org", "gin": "https://gin-gonic.com/", "echo": "https://echo.labstack.com/", } if err := 转换类.Scan(goWeb, &m); err == nil { fmt.Printf("%#v", m.X取Map()) }
Output: map[string]interface {}{"echo":"https://echo.labstack.com/", "gin":"https://gin-gonic.com/", "goframe":"https://goframe.org"}
func (*StrAnyMap) X删除所有空值 ¶
func (m *StrAnyMap) X删除所有空值()
FilterEmpty 删除所有值为空的键值对。 以下类型的值被视为空:0, nil, false, "", 切片/映射/通道长度为0。
func (*StrAnyMap) X取MapStrAny ¶
MapStrAny 返回该映射底层数据的一个副本,类型为 map[string]interface{}。
func (*StrAnyMap) X取值或设置值_函数 ¶
GetOrSetFunc 通过键返回值,如果该键不存在, 则使用回调函数 `f` 返回的值进行设置,并随后返回这个设置后的值。
func (*StrAnyMap) X取值或设置值_函数带锁 ¶
GetOrSetFuncLock 通过键返回值,如果该键不存在,则使用回调函数 `f` 返回的值设置并返回这个新值。
GetOrSetFuncLock 与 GetOrSetFunc 函数的不同之处在于,它在哈希映射的 mutex.Lock 保护下执行函数 `f`。
func (*StrAnyMap) X取值或设置值泛型类 ¶
GetVarOrSet 返回一个从 GetVarOrSet 获取结果的 Var。 返回的 Var 对象不保证线程安全。
func (*StrAnyMap) X取值或设置值泛型类_函数 ¶
GetVarOrSetFunc 返回一个 Var,其结果来自 GetOrSetFunc 的调用。 返回的 Var 不具备并发安全特性。
func (*StrAnyMap) X取值或设置值泛型类_函数带锁 ¶
GetVarOrSetFuncLock 返回一个 Var,其结果来自 GetOrSetFuncLock。 返回的 Var 不是并发安全的。
func (*StrAnyMap) X比较 ¶
Diff 函数用于比较当前映射 `m` 与映射 `other`,并返回它们不同的键。 返回的 `addedKeys` 是存在于映射 `m` 中但不在映射 `other` 中的键。 返回的 `removedKeys` 是存在于映射 `other` 中但不在映射 `m` 中的键。 返回的 `updatedKeys` 是同时存在于映射 `m` 和 `other` 中,但其对应值不相等(`!=`)的键。
func (*StrAnyMap) X设置值并跳过已存在 ¶
SetIfNotExist 如果`key`不存在,则将`value`设置到map中,并返回true。 若`key`已存在,则返回false,同时`value`将被忽略。
func (*StrAnyMap) X设置值并跳过已存在_函数 ¶
SetIfNotExistFunc 使用回调函数`f`的返回值设置键值,并返回true。 若`key`已存在,则返回false,同时`value`将被忽略。
func (*StrAnyMap) X设置值并跳过已存在_函数带锁 ¶
SetIfNotExistFuncLock 函数用于设置键值对,其值为回调函数 `f` 的返回值,并在设置成功时返回 true。 若 `key` 已存在,则返回 false,并且将忽略 `value` 参数。
SetIfNotExistFuncLock 与 SetIfNotExistFunc 函数的区别在于, 它在执行回调函数 `f` 时会锁定哈希表的 mutex 锁。
type StrIntMap ¶
type StrIntMap struct {
// contains filtered or unexported fields
}
StrIntMap 实现了带有 RWMutex(读写互斥锁)的 map[string]int,其中包含开关功能。
func X创建StrInt并从Map ¶
NewStrIntMapFrom 创建并返回一个从给定映射`data`生成的哈希映射。 注意,参数`data`映射将被设置为底层数据映射(非深度复制), 因此在外部修改该映射时可能会存在一些并发安全问题。
func (StrIntMap) MarshalJSON ¶
MarshalJSON 实现了 json.Marshal 接口所需的 MarshalJSON 方法。
Example ¶
var m map类.StrIntMap m.X设置值Map(g.MapStrInt{ "k1": 1, "k2": 2, "k3": 3, "k4": 4, }) bytes, err := json.Marshal(&m) if err == nil { fmt.Println(转换类.String(bytes)) }
Output: {"k1":1,"k2":2,"k3":3,"k4":4}
func (*StrIntMap) String ¶
String 将映射转换为字符串并返回。
Example ¶
var m map类.StrIntMap m.X设置值Map(g.MapStrInt{ "k1": 1, }) fmt.Println(m.String()) var m1 *map类.StrIntMap = nil fmt.Println(len(m1.String()))
Output: {"k1":1} 0
func (*StrIntMap) UnmarshalJSON ¶
UnmarshalJSON 实现了 json.Unmarshal 接口的 UnmarshalJSON 方法。
Example ¶
var m map类.StrIntMap m.X设置值Map(g.MapStrInt{ "k1": 1, "k2": 2, "k3": 3, "k4": 4, }) var n map类.StrIntMap err := json.Unmarshal(转换类.X取字节集(m.String()), &n) if err == nil { fmt.Println(n.X取Map()) }
Output: map[k1:1 k2:2 k3:3 k4:4]
func (*StrIntMap) UnmarshalValue ¶
UnmarshalValue 是一个接口实现,用于为 map 设置任意类型的值。
Example ¶
var m map类.StrIntMap goWeb := map[string]int{ "goframe": 1, "gin": 2, "echo": 3, } if err := 转换类.Scan(goWeb, &m); err == nil { fmt.Printf("%#v", m.X取Map()) }
Output: map[string]int{"echo":3, "gin":2, "goframe":1}
func (*StrIntMap) X删除所有空值 ¶
func (m *StrIntMap) X删除所有空值()
FilterEmpty 删除所有值为空的键值对。 以下类型的值被视为空:0, nil, false, "", 切片/映射/通道长度为0。
func (*StrIntMap) X取MapStrAny ¶
MapStrAny 返回该映射底层数据的一个副本,类型为 map[string]interface{}。
func (*StrIntMap) X取值或设置值_函数 ¶
GetOrSetFunc 通过键返回值,如果该键不存在, 则使用回调函数 `f` 返回的值进行设置,并随后返回这个设置后的值。
func (*StrIntMap) X取值或设置值_函数带锁 ¶
GetOrSetFuncLock 通过键返回值,如果该键不存在,则使用回调函数 `f` 返回的值设置并返回这个新值。
GetOrSetFuncLock 与 GetOrSetFunc 函数的不同之处在于,它在哈希映射的 mutex.Lock 保护下执行函数 `f`。
func (*StrIntMap) X比较 ¶
Diff 函数用于比较当前映射 `m` 与映射 `other`,并返回它们不同的键。 返回的 `addedKeys` 是存在于映射 `m` 中但不在映射 `other` 中的键。 返回的 `removedKeys` 是存在于映射 `other` 中但不在映射 `m` 中的键。 返回的 `updatedKeys` 是同时存在于映射 `m` 和 `other` 中,但其对应值不相等(`!=`)的键。
func (*StrIntMap) X设置值并跳过已存在 ¶
SetIfNotExist 如果`key`不存在,则将`value`设置到map中,并返回true。 若`key`已存在,则返回false,同时`value`将被忽略。
func (*StrIntMap) X设置值并跳过已存在_函数 ¶
SetIfNotExistFunc 使用回调函数`f`的返回值设置键值,并返回true。 若`key`已存在,则返回false,同时`value`将被忽略。
func (*StrIntMap) X设置值并跳过已存在_函数带锁 ¶
SetIfNotExistFuncLock 函数用于设置键值对,其值为回调函数 `f` 的返回值,并在设置成功时返回 true。 若 `key` 已存在,则返回 false,并且将忽略 `value` 参数。
SetIfNotExistFuncLock 与 SetIfNotExistFunc 函数的区别在于, 它在执行回调函数 `f` 时会锁定哈希表的 mutex 锁。
type StrStrMap ¶
type StrStrMap struct {
// contains filtered or unexported fields
}
StrStrMap 实现了一个带有 RWMutex(读写互斥锁)和 switch 功能的 map[string]string 类型。 (译注:该结构体或类型提供了一种线程安全的方式存储和操作键值对,其中键和值都是字符串类型。通过使用 RWMutex,可以在多线程环境下进行读写操作时保证数据一致性,switch 可能是指该实现中包含了一些用于控制并发访问模式的开关功能。)
func X创建StrStr并从Map ¶
NewStrStrMapFrom 通过给定的 `data` 字典创建并返回一个哈希映射。 注意,参数 `data` 字典将被直接设置为底层数据字典(非深度复制), 因此在外部修改该字典时可能会存在并发安全问题。
func (StrStrMap) MarshalJSON ¶
MarshalJSON 实现了 json.Marshal 接口所需的 MarshalJSON 方法。
Example ¶
var m map类.StrStrMap m.X设置值Map(g.MapStrStr{ "k1": "v1", "k2": "v2", "k3": "v3", "k4": "v4", }) bytes, err := json.Marshal(&m) if err == nil { fmt.Println(转换类.String(bytes)) }
Output: {"k1":"v1","k2":"v2","k3":"v3","k4":"v4"}
func (*StrStrMap) String ¶
String 将映射转换为字符串并返回。
Example ¶
var m map类.StrStrMap m.X设置值Map(g.MapStrStr{ "k1": "v1", }) fmt.Println(m.String()) var m1 *map类.StrStrMap = nil fmt.Println(len(m1.String()))
Output: {"k1":"v1"} 0
func (*StrStrMap) UnmarshalJSON ¶
UnmarshalJSON 实现了 json.Unmarshal 接口的 UnmarshalJSON 方法。
Example ¶
var m map类.StrStrMap m.X设置值Map(g.MapStrStr{ "k1": "v1", "k2": "v2", "k3": "v3", "k4": "v4", }) var n map类.StrStrMap err := json.Unmarshal(转换类.X取字节集(m.String()), &n) if err == nil { fmt.Println(n.X取Map()) }
Output: map[k1:v1 k2:v2 k3:v3 k4:v4]
func (*StrStrMap) UnmarshalValue ¶
UnmarshalValue 是一个接口实现,用于为 map 设置任意类型的值。
Example ¶
var m map类.StrStrMap goWeb := map[string]string{ "goframe": "https://goframe.org", "gin": "https://gin-gonic.com/", "echo": "https://echo.labstack.com/", } if err := 转换类.Scan(goWeb, &m); err == nil { fmt.Printf("%#v", m.X取Map()) }
Output: map[string]string{"echo":"https://echo.labstack.com/", "gin":"https://gin-gonic.com/", "goframe":"https://goframe.org"}
func (*StrStrMap) X删除所有空值 ¶
func (m *StrStrMap) X删除所有空值()
FilterEmpty 删除所有值为空的键值对。 以下类型的值被视为空:0, nil, false, "", 切片/映射/通道长度为0。
func (*StrStrMap) X取MapStrAny ¶
MapStrAny 返回该映射底层数据的一个副本,类型为 map[string]interface{}。
func (*StrStrMap) X取值或设置值_函数 ¶
GetOrSetFunc 通过键返回值,如果该键不存在, 则使用回调函数 `f` 返回的值进行设置,并随后返回这个设置后的值。
func (*StrStrMap) X取值或设置值_函数带锁 ¶
GetOrSetFuncLock 通过键返回值,如果该键不存在,则使用回调函数 `f` 返回的值设置并返回这个新值。
GetOrSetFuncLock 与 GetOrSetFunc 函数的不同之处在于,它在哈希映射的 mutex.Lock 保护下执行函数 `f`。
func (*StrStrMap) X比较 ¶
Diff 函数用于比较当前映射 `m` 与映射 `other`,并返回它们不同的键。 返回的 `addedKeys` 是存在于映射 `m` 中但不在映射 `other` 中的键。 返回的 `removedKeys` 是存在于映射 `other` 中但不在映射 `m` 中的键。 返回的 `updatedKeys` 是同时存在于映射 `m` 和 `other` 中,但其对应值不相等(`!=`)的键。
func (*StrStrMap) X设置值并跳过已存在 ¶
SetIfNotExist 如果`key`不存在,则将`value`设置到map中,并返回true。 若`key`已存在,则返回false,同时`value`将被忽略。
func (*StrStrMap) X设置值并跳过已存在_函数 ¶
SetIfNotExistFunc 使用回调函数`f`的返回值设置键值,并返回true。 若`key`已存在,则返回false,同时`value`将被忽略。
func (*StrStrMap) X设置值并跳过已存在_函数带锁 ¶
SetIfNotExistFuncLock 函数用于设置键值对,其值为回调函数 `f` 的返回值,并在设置成功时返回 true。 若 `key` 已存在,则返回 false,并且将忽略 `value` 参数。
SetIfNotExistFuncLock 与 SetIfNotExistFunc 函数的区别在于, 它在执行回调函数 `f` 时会锁定哈希表的 mutex 锁。
type TreeMap ¶
type TreeMap = 树形类.RedBlackTree
TreeMap基于红黑树实现,是RedBlackTree的别名。
func X创建红黑树Map并从Map ¶
func X创建红黑树Map并从Map(回调函数 func(v1, v2 interface{}) int, map值 map[interface{}]interface{}, 并发安全 ...bool) *TreeMap
NewTreeMapFrom 通过自定义比较器和`data`映射实例化一个新的树形映射。 注意,参数`data`映射将被直接设置为底层数据映射(非深度复制), 因此在外部修改该映射时可能存在并发安全问题。 参数`safe`用于指定是否使用线程安全的树形结构,默认情况下为false。