Documentation
¶
Overview ¶
gmap 包提供了最常用的地图容器,同时支持并发安全/不安全切换特性。 md5:1f468a4fc387a466
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{}) *gvar.Var
- func (m *AnyAnyMap) X取值或设置值泛型类_函数(名称 interface{}, 回调函 func() interface{}) *gvar.Var
- func (m *AnyAnyMap) X取值或设置值泛型类_函数带锁(名称 interface{}, 回调函数 func() interface{}) *gvar.Var
- func (m *AnyAnyMap) X取值泛型类(名称 interface{}) *gvar.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设置值(key interface{}, value 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遍历(f 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, value interface{})
- func (m *IntAnyMap) X出栈多个(数量 int) map[int]interface{}
- func (m *IntAnyMap) X删除(名称 int) (value 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) (value interface{})
- func (m *IntAnyMap) X取值或设置值(名称 int, value interface{}) interface{}
- func (m *IntAnyMap) X取值或设置值_函数(名称 int, f func() interface{}) interface{}
- func (m *IntAnyMap) X取值或设置值_函数带锁(名称 int, f func() interface{}) interface{}
- func (m *IntAnyMap) X取值或设置值泛型类(名称 int, value interface{}) *gvar.Var
- func (m *IntAnyMap) X取值或设置值泛型类_函数(名称 int, f func() interface{}) *gvar.Var
- func (m *IntAnyMap) X取值或设置值泛型类_函数带锁(名称 int, f func() interface{}) *gvar.Var
- func (m *IntAnyMap) X取值泛型类(名称 int) *gvar.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) (value interface{}, found bool)
- func (m *IntAnyMap) X比较(map值 *IntAnyMap) (addedKeys, removedKeys, updatedKeys []int)
- func (m *IntAnyMap) X浅拷贝() map[int]interface{}
- func (m *IntAnyMap) X清空()
- func (m *IntAnyMap) X设置值(key int, val interface{})
- func (m *IntAnyMap) X设置值Map(map值 map[int]interface{})
- func (m *IntAnyMap) X设置值并跳过已存在(名称 int, value interface{}) bool
- func (m *IntAnyMap) X设置值并跳过已存在_函数(名称 int, f func() interface{}) bool
- func (m *IntAnyMap) X设置值并跳过已存在_函数带锁(名称 int, f func() interface{}) bool
- func (m *IntAnyMap) X遍历(f 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) (value 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) (value int)
- func (m *IntIntMap) X取值或设置值(名称 int, value int) int
- func (m *IntIntMap) X取值或设置值_函数(名称 int, f func() int) int
- func (m *IntIntMap) X取值或设置值_函数带锁(名称 int, f 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) (value int, found bool)
- func (m *IntIntMap) X比较(map值 *IntIntMap) (addedKeys, removedKeys, updatedKeys []int)
- func (m *IntIntMap) X浅拷贝() map[int]int
- func (m *IntIntMap) X清空()
- func (m *IntIntMap) X设置值(key int, val int)
- func (m *IntIntMap) X设置值Map(map值 map[int]int)
- func (m *IntIntMap) X设置值并跳过已存在(名称 int, value int) bool
- func (m *IntIntMap) X设置值并跳过已存在_函数(名称 int, f func() int) bool
- func (m *IntIntMap) X设置值并跳过已存在_函数带锁(名称 int, f func() int) bool
- func (m *IntIntMap) X遍历(f 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, value string)
- func (m *IntStrMap) X出栈多个(数量 int) map[int]string
- func (m *IntStrMap) X删除(名称 int) (value 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) (value string)
- func (m *IntStrMap) X取值或设置值(名称 int, value string) string
- func (m *IntStrMap) X取值或设置值_函数(名称 int, f func() string) string
- func (m *IntStrMap) X取值或设置值_函数带锁(名称 int, f 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) (value string, found bool)
- func (m *IntStrMap) X比较(map值 *IntStrMap) (addedKeys, removedKeys, updatedKeys []int)
- func (m *IntStrMap) X浅拷贝() map[int]string
- func (m *IntStrMap) X清空()
- func (m *IntStrMap) X设置值(key int, val string)
- func (m *IntStrMap) X设置值Map(map值 map[int]string)
- func (m *IntStrMap) X设置值并跳过已存在(名称 int, value string) bool
- func (m *IntStrMap) X设置值并跳过已存在_函数(名称 int, f func() string) bool
- func (m *IntStrMap) X设置值并跳过已存在_函数带锁(名称 int, f func() string) bool
- func (m *IntStrMap) X遍历(f 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{}) *gvar.Var
- func (m *ListMap) X取值或设置值泛型类_函数(名称 interface{}, 回调函 func() interface{}) *gvar.Var
- func (m *ListMap) X取值或设置值泛型类_函数带锁(名称 interface{}, 回调函数 func() interface{}) *gvar.Var
- func (m *ListMap) X取值泛型类(名称 interface{}) *gvar.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设置值(key interface{}, value 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遍历(f func(key, value interface{}) bool)
- func (m *ListMap) X遍历升序(回调函数 func(key interface{}, value interface{}) bool)
- func (m *ListMap) X遍历降序(回调函数 func(key interface{}, value 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, value interface{})
- func (m *StrAnyMap) X出栈多个(数量 int) map[string]interface{}
- func (m *StrAnyMap) X删除(名称 string) (value 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) (value interface{})
- func (m *StrAnyMap) X取值或设置值(名称 string, value interface{}) interface{}
- func (m *StrAnyMap) X取值或设置值_函数(名称 string, f func() interface{}) interface{}
- func (m *StrAnyMap) X取值或设置值_函数带锁(名称 string, f func() interface{}) interface{}
- func (m *StrAnyMap) X取值或设置值泛型类(名称 string, value interface{}) *gvar.Var
- func (m *StrAnyMap) X取值或设置值泛型类_函数(名称 string, f func() interface{}) *gvar.Var
- func (m *StrAnyMap) X取值或设置值泛型类_函数带锁(名称 string, f func() interface{}) *gvar.Var
- func (m *StrAnyMap) X取值泛型类(名称 string) *gvar.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) (value interface{}, found bool)
- func (m *StrAnyMap) X比较(map值 *StrAnyMap) (addedKeys, removedKeys, updatedKeys []string)
- func (m *StrAnyMap) X浅拷贝() map[string]interface{}
- func (m *StrAnyMap) X清空()
- func (m *StrAnyMap) X设置值(key string, val interface{})
- func (m *StrAnyMap) X设置值Map(map值 map[string]interface{})
- func (m *StrAnyMap) X设置值并跳过已存在(名称 string, value interface{}) bool
- func (m *StrAnyMap) X设置值并跳过已存在_函数(名称 string, f func() interface{}) bool
- func (m *StrAnyMap) X设置值并跳过已存在_函数带锁(名称 string, f func() interface{}) bool
- func (m *StrAnyMap) X遍历(f 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, value 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) (value int)
- func (m *StrIntMap) X取值或设置值(名称 string, 值 int) int
- func (m *StrIntMap) X取值或设置值_函数(名称 string, f func() int) int
- func (m *StrIntMap) X取值或设置值_函数带锁(名称 string, f 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设置值(key string, val int)
- func (m *StrIntMap) X设置值Map(map值 map[string]int)
- func (m *StrIntMap) X设置值并跳过已存在(名称 string, 值 int) bool
- func (m *StrIntMap) X设置值并跳过已存在_函数(名称 string, f func() int) bool
- func (m *StrIntMap) X设置值并跳过已存在_函数带锁(名称 string, f func() int) bool
- func (m *StrIntMap) X遍历(f 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, f func() string) string
- func (m *StrStrMap) X取值或设置值_函数带锁(名称 string, f 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设置值(key string, val string)
- func (m *StrStrMap) X设置值Map(map值 map[string]string)
- func (m *StrStrMap) X设置值并跳过已存在(名称 string, 值 string) bool
- func (m *StrStrMap) X设置值并跳过已存在_函数(名称 string, f func() string) bool
- func (m *StrStrMap) X设置值并跳过已存在_函数带锁(名称 string, f func() string) bool
- func (m *StrStrMap) X遍历(f 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{}` 并提供了更多的 map 功能。 md5:fdeb4ee0e757ccc7
func X创建AnyAny并从Map ¶
X创建AnyAny并从Map 根据给定的映射 `data` 创建并返回一个哈希映射。 请注意,参数 `data` 映射将被设置为底层数据映射(无深拷贝), 当在外部修改此映射时,可能存在并发安全问题。 md5:e7327f6b619e71b1
func (*AnyAnyMap) DeepCopy ¶
func (m *AnyAnyMap) DeepCopy() interface{}
DeepCopy实现当前类型的深拷贝接口。 md5:9cfbcb08109f6ce1
func (AnyAnyMap) MarshalJSON ¶
MarshalJSON 实现了接口 MarshalJSON 以供 json.Marshal 使用。 md5:43c3b36e60a18f9a
Example ¶
package main import ( "fmt" gmap "github.com/888go/goframe/container/gmap" "github.com/888go/goframe/frame/g" "github.com/888go/goframe/internal/json" gconv "github.com/888go/goframe/util/gconv" ) func main() { var m gmap.Map m.X设置值Map(g.MapAnyAny{ "k1": "v1", "k2": "v2", "k3": "v3", "k4": "v4", }) bytes, err := json.Marshal(&m) if err == nil { fmt.Println(gconv.String(bytes)) } }
Output: {"k1":"v1","k2":"v2","k3":"v3","k4":"v4"}
func (*AnyAnyMap) String ¶
String 将地图转换为字符串形式并返回。 md5:6473318e71d3dfd0
Example ¶
package main import ( "fmt" gmap "github.com/888go/goframe/container/gmap" "github.com/888go/goframe/frame/g" ) func main() { var m gmap.Map m.X设置值Map(g.MapAnyAny{ "k1": "v1", }) fmt.Println(m.String()) var m1 *gmap.Map = nil fmt.Println(len(m1.String())) }
Output: {"k1":"v1"} 0
func (*AnyAnyMap) UnmarshalJSON ¶
UnmarshalJSON实现了json.Unmarshal接口的UnmarshalJSON方法。 md5:f6766b88cf3d63c2
Example ¶
package main import ( "fmt" gmap "github.com/888go/goframe/container/gmap" "github.com/888go/goframe/frame/g" "github.com/888go/goframe/internal/json" gconv "github.com/888go/goframe/util/gconv" ) func main() { var m gmap.Map m.X设置值Map(g.MapAnyAny{ "k1": "v1", "k2": "v2", "k3": "v3", "k4": "v4", }) var n gmap.Map err := json.Unmarshal(gconv.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 是一个接口实现,用于将任何类型的值设置到映射中。 md5:6f3087a6f7df5477
Example ¶
package main import ( "fmt" gmap "github.com/888go/goframe/container/gmap" gconv "github.com/888go/goframe/util/gconv" ) func main() { type User struct { Uid int Name string Pass1 string `gconv:"password1"` Pass2 string `gconv:"password2"` } var ( m gmap.AnyAnyMap user = User{ Uid: 1, Name: "john", Pass1: "123", Pass2: "456", } ) if err := gconv.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{})
X出栈 从映射中获取并删除一个元素。 md5:2d364ca2b6054111
func (*AnyAnyMap) X删除 ¶
func (m *AnyAnyMap) X删除(名称 interface{}) (值 interface{})
X删除 通过给定的`key`从map中删除值,并返回被删除的值。 md5:5ee6dc9be17b4ab8
func (*AnyAnyMap) X删除多个值 ¶
func (m *AnyAnyMap) X删除多个值(名称 []interface{})
通过键删除map中的批删除值。 md5:57081208d84ca7e8
func (*AnyAnyMap) X删除所有nil值 ¶
func (m *AnyAnyMap) X删除所有nil值()
X删除所有nil值 删除所有值为 nil 的键值对。 md5:3c964818401771a4
func (*AnyAnyMap) X删除所有空值 ¶
func (m *AnyAnyMap) X删除所有空值()
X删除所有空值 删除所有值为空的键值对。空值包括:0、nil、false、"",以及切片、映射(map)或通道(channel)的长度为0的情况。 md5:6cdcc470e2c0cab1
func (*AnyAnyMap) X取Map ¶
func (m *AnyAnyMap) X取Map() map[interface{}]interface{}
X取Map 返回底层数据映射。 注意,如果它在并发安全的使用场景中,它将返回底层数据的一个副本, 否则返回指向底层数据的指针。 md5:7f8e0898ab3ddb0f
func (*AnyAnyMap) X取MapStrAny ¶
X取MapStrAny将映射的底层数据复制为map[string]interface{}。 md5:46db5a1110397522
func (*AnyAnyMap) X取值 ¶
func (m *AnyAnyMap) X取值(名称 interface{}) (值 interface{})
X取值 根据给定的 `key` 获取值。 md5:2b744a3e455aadfb
func (*AnyAnyMap) X取值或设置值 ¶
func (m *AnyAnyMap) X取值或设置值(名称 interface{}, 值 interface{}) interface{}
X取值或设置值 通过键返回值, 如果该键不存在,则使用给定的`value`设置值,然后返回这个值。 md5:d8f89b6dec47292b
func (*AnyAnyMap) X取值或设置值_函数 ¶
func (m *AnyAnyMap) X取值或设置值_函数(名称 interface{}, 回调函数 func() interface{}) interface{}
X取值或设置值_函数 通过键获取值, 如果键不存在,则使用回调函数`f`的返回值设置值, 并返回这个设置的值。 md5:f584dd7547dfbcc0
func (*AnyAnyMap) X取值或设置值_函数带锁 ¶
func (m *AnyAnyMap) X取值或设置值_函数带锁(名称 interface{}, 回调函数 func() interface{}) interface{}
X取值或设置值_函数带锁 通过键获取值, 如果不存在,它将使用回调函数 `f` 的返回值设置该值,然后返回这个值。
X取值或设置值_函数带锁 与 GetOrSetFunc 函数的不同之处在于,它在执行函数 `f` 时会先锁定哈希映射的 mutex。 md5:d32fdee586d84dde
func (*AnyAnyMap) X取值或设置值泛型类 ¶
X取值或设置值泛型类 返回一个 Var,其结果来自 GetOrSet。 返回的 Var 是非并发安全的。 md5:5d4b8a2f15c827e0
func (*AnyAnyMap) X取值或设置值泛型类_函数 ¶
X取值或设置值泛型类_函数 返回一个Var,其结果来自GetOrSetFunc。 返回的Var不具备并发安全性。 md5:7d7674129b73ead1
func (*AnyAnyMap) X取值或设置值泛型类_函数带锁 ¶
X取值或设置值泛型类_函数带锁 返回一个从 GetOrSetFuncLock 获得结果的 Var。返回的 Var 不是线程安全的。 md5:bdab644d14c89234
func (*AnyAnyMap) X取所有值 ¶
func (m *AnyAnyMap) X取所有值() []interface{}
X取所有值 将地图中的所有值返回为一个切片。 md5:a89b5b485c966abd
func (*AnyAnyMap) X取所有名称 ¶
func (m *AnyAnyMap) X取所有名称() []interface{}
X取所有名称 返回映射中所有键的切片。 md5:425640fff4178659
func (*AnyAnyMap) X替换 ¶
func (m *AnyAnyMap) X替换(map值 map[interface{}]interface{})
用给定的 `data` 替换映射的数据。 md5:a84ecf2839212d81
func (*AnyAnyMap) X查找 ¶
X查找 在给定的`key`下搜索映射。 第二个返回参数`found`如果找到键,则为true,否则为false。 md5:99336de9941a3b02
func (*AnyAnyMap) X比较 ¶
X比较 函数比较当前地图 `m` 与地图 `other` 并返回它们不同的键。 返回的 `addedKeys` 是存在于地图 `m` 中但不在地图 `other` 中的键。 返回的 `removedKeys` 是存在于地图 `other` 中但不在地图 `m` 中的键。 返回的 `updatedKeys` 是同时存在于地图 `m` 和 `other` 中,但其值不相等(`!=`)的键。 md5:d3bf0bf8c70e9093
func (*AnyAnyMap) X浅拷贝 ¶
func (m *AnyAnyMap) X浅拷贝() map[interface{}]interface{}
X浅拷贝 返回哈希映射底层数据的浅拷贝。 md5:7c14284a426ba2a8
func (*AnyAnyMap) X清空 ¶
func (m *AnyAnyMap) X清空()
X清空 删除映射中的所有数据,它将重新创建一个新的底层数据映射。 md5:0553a5cd54a22f3c
func (*AnyAnyMap) X设置值 ¶
func (m *AnyAnyMap) X设置值(key interface{}, value interface{})
X设置值 将键值对设置到哈希映射中。 md5:07ea2dd1ea28820a
func (*AnyAnyMap) X设置值Map ¶
func (m *AnyAnyMap) X设置值Map(map值 map[interface{}]interface{})
将键值对设置到哈希映射中。 md5:e3f3f8a1b69eb832
func (*AnyAnyMap) X设置值并跳过已存在 ¶
X设置值并跳过已存在 如果键`key`不存在,则将`value`设置到映射中,并返回true。如果键`key`已存在,且`value`将被忽略,函数返回false。 md5:f80895920828f03e
func (*AnyAnyMap) X设置值并跳过已存在_函数 ¶
X设置值并跳过已存在_函数 使用回调函数`f`的返回值设置值,并返回true。 如果`key`已存在,则返回false,且`value`会被忽略。 md5:326c0b7c63d813e7
func (*AnyAnyMap) X设置值并跳过已存在_函数带锁 ¶
X设置值并跳过已存在_函数带锁 使用回调函数 `f` 的返回值设置值,然后返回 true。 如果 `key` 已存在,则返回 false,`value` 将被忽略。
X设置值并跳过已存在_函数带锁 与 SetIfNotExistFunc 函数的区别在于, 它在哈希映射的 mutex.Lock 保护下执行函数 `f`。 md5:a6ee84b157328f61
type IntAnyMap ¶
type IntAnyMap struct {
// contains filtered or unexported fields
}
IntAnyMap 实现了具有开关的RWMutex接口的[int]interface{}映射。 md5:91c3a42c4b361517
func X创建IntAny ¶
X创建IntAny 返回一个空的 IntAnyMap 对象。 参数 `safe` 用于指定是否使用并发安全的 map,默认为 false。 md5:1939fd81edf46e9b
func X创建IntAny并从Map ¶
X创建IntAny并从Map 根据给定的映射 `data` 创建并返回一个哈希映射。 注意,参数 `data` 映射将被设置为底层数据映射(非深度复制), 因此,在外部修改该映射时可能会存在一些并发安全问题。 md5:69d7f3d651b3336d
func (*IntAnyMap) DeepCopy ¶
func (m *IntAnyMap) DeepCopy() interface{}
DeepCopy实现当前类型的深拷贝接口。 md5:9cfbcb08109f6ce1
func (IntAnyMap) MarshalJSON ¶
MarshalJSON 实现了接口 MarshalJSON 以供 json.Marshal 使用。 md5:43c3b36e60a18f9a
Example ¶
package main import ( "fmt" gmap "github.com/888go/goframe/container/gmap" "github.com/888go/goframe/frame/g" "github.com/888go/goframe/internal/json" gconv "github.com/888go/goframe/util/gconv" ) func main() { var m gmap.IntAnyMap m.X设置值Map(g.MapIntAny{ 1: "v1", 2: "v2", 3: "v3", 4: "v4", }) bytes, err := json.Marshal(&m) if err == nil { fmt.Println(gconv.String(bytes)) } }
Output: {"1":"v1","2":"v2","3":"v3","4":"v4"}
func (*IntAnyMap) String ¶
String 将地图转换为字符串形式并返回。 md5:6473318e71d3dfd0
Example ¶
package main import ( "fmt" gmap "github.com/888go/goframe/container/gmap" "github.com/888go/goframe/frame/g" ) func main() { var m gmap.IntAnyMap m.X设置值Map(g.MapIntAny{ 1: "v1", }) fmt.Println(m.String()) var m1 *gmap.IntAnyMap = nil fmt.Println(len(m1.String())) }
Output: {"1":"v1"} 0
func (*IntAnyMap) UnmarshalJSON ¶
UnmarshalJSON实现了json.Unmarshal接口的UnmarshalJSON方法。 md5:f6766b88cf3d63c2
Example ¶
package main import ( "fmt" gmap "github.com/888go/goframe/container/gmap" "github.com/888go/goframe/frame/g" "github.com/888go/goframe/internal/json" gconv "github.com/888go/goframe/util/gconv" ) func main() { var m gmap.IntAnyMap m.X设置值Map(g.MapIntAny{ 1: "v1", 2: "v2", 3: "v3", 4: "v4", }) var n gmap.Map err := json.Unmarshal(gconv.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 是一个接口实现,用于将任何类型的值设置到映射中。 md5:6f3087a6f7df5477
Example ¶
package main import ( "fmt" gmap "github.com/888go/goframe/container/gmap" gconv "github.com/888go/goframe/util/gconv" ) func main() { var m gmap.IntAnyMap goWeb := map[int]interface{}{ 1: "goframe", 2: "gin", 3: "echo", } if err := gconv.Scan(goWeb, &m); err == nil { fmt.Printf("%#v", m.X取Map()) } }
Output: map[int]interface {}{1:"goframe", 2:"gin", 3:"echo"}
func (*IntAnyMap) X删除所有nil值 ¶
func (m *IntAnyMap) X删除所有nil值()
X删除所有nil值 删除所有值为 nil 的键值对。 md5:3c964818401771a4
func (*IntAnyMap) X删除所有空值 ¶
func (m *IntAnyMap) X删除所有空值()
X删除所有空值 删除所有值为空的键值对。空值包括:0、nil、false、"",以及切片、映射(map)或通道(channel)的长度为0的情况。 md5:6cdcc470e2c0cab1
func (*IntAnyMap) X取Map ¶
X取Map 返回底层数据映射。 注意,如果它在并发安全的使用场景中,它将返回底层数据的一个副本, 否则返回指向底层数据的指针。 md5:7f8e0898ab3ddb0f
func (*IntAnyMap) X取MapStrAny ¶
X取MapStrAny将映射的底层数据复制为map[string]interface{}。 md5:46db5a1110397522
func (*IntAnyMap) X取值或设置值_函数 ¶
X取值或设置值_函数通过键获取值, 如果不存在,它将使用回调函数`f`返回的值设置该值,并返回这个值。 md5:c4de9d0fac2a8916
func (*IntAnyMap) X取值或设置值_函数带锁 ¶
X取值或设置值_函数带锁 通过键获取值, 如果不存在,则使用回调函数 `f` 的返回值设置该键的值,并返回这个值。
X取值或设置值_函数带锁 与 GetOrSetFunc 函数的不同之处在于,它在执行函数 `f` 时会先锁定哈希映射的mutex。 md5:ac8ad0e9416578ba
func (*IntAnyMap) X取值或设置值泛型类 ¶
X取值或设置值泛型类 返回一个 Var,其中包含从 X取值或设置值泛型类 获取的结果。 返回的 Var 是非并发安全的。 md5:c3730f368b7f62b5
func (*IntAnyMap) X取值或设置值泛型类_函数 ¶
X取值或设置值泛型类_函数 返回一个Var,其结果来自GetOrSetFunc。 返回的Var不具备并发安全性。 md5:7d7674129b73ead1
func (*IntAnyMap) X取值或设置值泛型类_函数带锁 ¶
X取值或设置值泛型类_函数带锁 返回一个从 GetOrSetFuncLock 获得结果的 Var。返回的 Var 不是线程安全的。 md5:bdab644d14c89234
func (*IntAnyMap) X取所有值 ¶
func (m *IntAnyMap) X取所有值() []interface{}
X取所有值 将地图中的所有值返回为一个切片。 md5:a89b5b485c966abd
func (*IntAnyMap) X查找 ¶
X查找 在给定的`key`下搜索映射。 第二个返回参数`found`如果找到键,则为true,否则为false。 md5:99336de9941a3b02
func (*IntAnyMap) X比较 ¶
X比较 函数比较当前地图 `m` 与地图 `other` 并返回它们不同的键。 返回的 `addedKeys` 是存在于地图 `m` 中但不在地图 `other` 中的键。 返回的 `removedKeys` 是存在于地图 `other` 中但不在地图 `m` 中的键。 返回的 `updatedKeys` 是同时存在于地图 `m` 和 `other` 中,但其值不相等(`!=`)的键。 md5:d3bf0bf8c70e9093
func (*IntAnyMap) X清空 ¶
func (m *IntAnyMap) X清空()
X清空 删除映射中的所有数据,它将重新创建一个新的底层数据映射。 md5:0553a5cd54a22f3c
func (*IntAnyMap) X设置值并跳过已存在 ¶
X设置值并跳过已存在 如果键`key`不存在,则将`value`设置到映射中,并返回true。如果键`key`已存在,且`value`将被忽略,函数返回false。 md5:f80895920828f03e
func (*IntAnyMap) X设置值并跳过已存在_函数 ¶
X设置值并跳过已存在_函数 使用回调函数`f`的返回值设置值,并返回true。 如果`key`已存在,则返回false,且`value`会被忽略。 md5:326c0b7c63d813e7
func (*IntAnyMap) X设置值并跳过已存在_函数带锁 ¶
X设置值并跳过已存在_函数带锁 使用回调函数 `f` 的返回值设置值,然后返回 true。 如果 `key` 已存在,则返回 false,`value` 将被忽略。
X设置值并跳过已存在_函数带锁 与 SetIfNotExistFunc 函数的区别在于, 它在哈希映射的 mutex.Lock 保护下执行函数 `f`。 md5:a6ee84b157328f61
type IntIntMap ¶
type IntIntMap struct {
// contains filtered or unexported fields
}
IntIntMap 实现了一个具有开关的读写锁保护的 int 到 int 的映射。 md5:2ad66ce15680a609
func X创建IntInt ¶
X创建IntInt 返回一个空的 IntIntMap 对象。 参数 `safe` 用于指定是否在并发安全模式下使用映射,默认为 false。 md5:244b09f1e03a74c9
func X创建IntInt并从Map ¶
X创建IntInt并从Map 从给定的映射 `data` 创建并返回一个哈希映射。 注意,参数 `data` 映射将被设置为底层数据映射(不进行深拷贝),在外部修改映射时可能会存在并发安全问题。 md5:db30850605ef2eeb
func (*IntIntMap) DeepCopy ¶
func (m *IntIntMap) DeepCopy() interface{}
DeepCopy实现当前类型的深拷贝接口。 md5:9cfbcb08109f6ce1
func (IntIntMap) MarshalJSON ¶
MarshalJSON 实现了接口 MarshalJSON 以供 json.Marshal 使用。 md5:43c3b36e60a18f9a
Example ¶
package main import ( "fmt" gmap "github.com/888go/goframe/container/gmap" "github.com/888go/goframe/frame/g" "github.com/888go/goframe/internal/json" gconv "github.com/888go/goframe/util/gconv" ) func main() { var m gmap.IntIntMap m.X设置值Map(g.MapIntInt{ 1: 1, 2: 2, 3: 3, 4: 4, }) bytes, err := json.Marshal(&m) if err == nil { fmt.Println(gconv.String(bytes)) } }
Output: {"1":1,"2":2,"3":3,"4":4}
func (*IntIntMap) String ¶
String 将地图转换为字符串形式并返回。 md5:6473318e71d3dfd0
Example ¶
package main import ( "fmt" gmap "github.com/888go/goframe/container/gmap" "github.com/888go/goframe/frame/g" ) func main() { var m gmap.IntIntMap m.X设置值Map(g.MapIntInt{ 1: 1, }) fmt.Println(m.String()) var m1 *gmap.IntIntMap = nil fmt.Println(len(m1.String())) }
Output: {"1":1} 0
func (*IntIntMap) UnmarshalJSON ¶
UnmarshalJSON实现了json.Unmarshal接口的UnmarshalJSON方法。 md5:f6766b88cf3d63c2
Example ¶
package main import ( "fmt" gmap "github.com/888go/goframe/container/gmap" "github.com/888go/goframe/frame/g" "github.com/888go/goframe/internal/json" gconv "github.com/888go/goframe/util/gconv" ) func main() { var m gmap.IntIntMap m.X设置值Map(g.MapIntInt{ 1: 1, 2: 2, 3: 3, 4: 4, }) var n gmap.Map err := json.Unmarshal(gconv.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 是一个接口实现,用于将任何类型的值设置到映射中。 md5:6f3087a6f7df5477
Example ¶
package main import ( "fmt" gmap "github.com/888go/goframe/container/gmap" gconv "github.com/888go/goframe/util/gconv" ) func main() { var m gmap.IntIntMap n := map[int]int{ 1: 1001, 2: 1002, 3: 1003, } if err := gconv.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删除所有空值()
X删除所有空值 删除所有值为空的键值对。空值包括:0、nil、false、"",以及切片、映射(map)或通道(channel)的长度为0的情况。 md5:6cdcc470e2c0cab1
func (*IntIntMap) X取Map ¶
X取Map 返回底层数据映射。 注意,如果它在并发安全的使用场景中,它将返回底层数据的一个副本, 否则返回指向底层数据的指针。 md5:7f8e0898ab3ddb0f
func (*IntIntMap) X取MapStrAny ¶
X取MapStrAny将映射的底层数据复制为map[string]interface{}。 md5:46db5a1110397522
func (*IntIntMap) X取值或设置值_函数 ¶
X取值或设置值_函数通过键获取值, 如果不存在,它将使用回调函数`f`返回的值设置该值,并返回这个值。 md5:c4de9d0fac2a8916
func (*IntIntMap) X取值或设置值_函数带锁 ¶
X取值或设置值_函数带锁 通过键获取值, 如果不存在,则使用回调函数 `f` 的返回值设置该键的值,并返回这个值。
X取值或设置值_函数带锁 与 GetOrSetFunc 函数的不同之处在于,它在执行函数 `f` 时会先锁定哈希映射的mutex。 md5:ac8ad0e9416578ba
func (*IntIntMap) X查找 ¶
X查找 在给定的`key`下搜索映射。 第二个返回参数`found`如果找到键,则为true,否则为false。 md5:99336de9941a3b02
func (*IntIntMap) X比较 ¶
X比较 函数比较当前地图 `m` 与地图 `other` 并返回它们不同的键。 返回的 `addedKeys` 是存在于地图 `m` 中但不在地图 `other` 中的键。 返回的 `removedKeys` 是存在于地图 `other` 中但不在地图 `m` 中的键。 返回的 `updatedKeys` 是同时存在于地图 `m` 和 `other` 中,但其值不相等(`!=`)的键。 md5:d3bf0bf8c70e9093
func (*IntIntMap) X清空 ¶
func (m *IntIntMap) X清空()
X清空 删除映射中的所有数据,它将重新创建一个新的底层数据映射。 md5:0553a5cd54a22f3c
func (*IntIntMap) X设置值并跳过已存在 ¶
X设置值并跳过已存在 如果键`key`不存在,则将`value`设置到映射中,并返回true。如果键`key`已存在,且`value`将被忽略,函数返回false。 md5:f80895920828f03e
func (*IntIntMap) X设置值并跳过已存在_函数 ¶
X设置值并跳过已存在_函数 使用回调函数`f`的返回值设置值,并返回true。 如果`key`已存在,则返回false,且`value`会被忽略。 md5:326c0b7c63d813e7
func (*IntIntMap) X设置值并跳过已存在_函数带锁 ¶
X设置值并跳过已存在_函数带锁 使用回调函数 `f` 的返回值设置值,然后返回 true。 如果 `key` 已存在,则返回 false,`value` 将被忽略。
X设置值并跳过已存在_函数带锁 与 SetIfNotExistFunc 函数的区别在于, 它在哈希映射的 mutex.Lock 保护下执行函数 `f`。 md5:a6ee84b157328f61
type IntStrMap ¶
type IntStrMap struct {
// contains filtered or unexported fields
}
IntStrMap 实现了一个带有开关的读写锁保护的 int 到 string 的映射。 md5:6cf655e78fde5a30
func X创建IntStr ¶
X创建IntStr 返回一个空的 IntStrMap 对象。 参数 `safe` 用于指定是否使用并发安全的 map,默认为 false。 md5:2be815573a3b558d
func X创建IntStr并从Map ¶
X创建IntStr并从Map 从给定的映射 `data` 创建并返回一个哈希映射。 注意,参数 `data` 映射将被设置为底层数据映射(不进行深拷贝), 在外部修改映射时可能会出现并发安全问题。 md5:ad2e556b3e927079
func (*IntStrMap) DeepCopy ¶
func (m *IntStrMap) DeepCopy() interface{}
DeepCopy实现当前类型的深拷贝接口。 md5:9cfbcb08109f6ce1
func (IntStrMap) MarshalJSON ¶
MarshalJSON 实现了接口 MarshalJSON 以供 json.Marshal 使用。 md5:43c3b36e60a18f9a
func (*IntStrMap) UnmarshalJSON ¶
UnmarshalJSON实现了json.Unmarshal接口的UnmarshalJSON方法。 md5:f6766b88cf3d63c2
func (*IntStrMap) UnmarshalValue ¶
UnmarshalValue 是一个接口实现,用于将任何类型的值设置到映射中。 md5:6f3087a6f7df5477
func (*IntStrMap) X删除所有空值 ¶
func (m *IntStrMap) X删除所有空值()
X删除所有空值 删除所有值为空的键值对。空值包括:0、nil、false、"",以及切片、映射(map)或通道(channel)的长度为0的情况。 md5:6cdcc470e2c0cab1
func (*IntStrMap) X取Map ¶
X取Map 返回底层数据映射。 注意,如果它在并发安全的使用场景中,它将返回底层数据的一个副本, 否则返回指向底层数据的指针。 md5:7f8e0898ab3ddb0f
func (*IntStrMap) X取MapStrAny ¶
X取MapStrAny将映射的底层数据复制为map[string]interface{}。 md5:46db5a1110397522
func (*IntStrMap) X取值或设置值_函数 ¶
X取值或设置值_函数通过键获取值, 如果不存在,它将使用回调函数`f`返回的值设置该值,并返回这个值。 md5:c4de9d0fac2a8916
func (*IntStrMap) X取值或设置值_函数带锁 ¶
X取值或设置值_函数带锁 通过键获取值, 如果不存在,则使用回调函数 `f` 的返回值设置该键的值,并返回这个值。
X取值或设置值_函数带锁 与 GetOrSetFunc 函数的不同之处在于,它在执行函数 `f` 时会先锁定哈希映射的mutex。 md5:ac8ad0e9416578ba
func (*IntStrMap) X查找 ¶
X查找 在给定的`key`下搜索映射。 第二个返回参数`found`如果找到键,则为true,否则为false。 md5:99336de9941a3b02
func (*IntStrMap) X比较 ¶
X比较 函数比较当前地图 `m` 与地图 `other` 并返回它们不同的键。 返回的 `addedKeys` 是存在于地图 `m` 中但不在地图 `other` 中的键。 返回的 `removedKeys` 是存在于地图 `other` 中但不在地图 `m` 中的键。 返回的 `updatedKeys` 是同时存在于地图 `m` 和 `other` 中,但其值不相等(`!=`)的键。 md5:d3bf0bf8c70e9093
func (*IntStrMap) X清空 ¶
func (m *IntStrMap) X清空()
X清空 删除映射中的所有数据,它将重新创建一个新的底层数据映射。 md5:0553a5cd54a22f3c
func (*IntStrMap) X设置值并跳过已存在 ¶
X设置值并跳过已存在 如果键`key`不存在,则将`value`设置到映射中,并返回true。如果键`key`已存在,且`value`将被忽略,函数返回false。 md5:f80895920828f03e
func (*IntStrMap) X设置值并跳过已存在_函数 ¶
X设置值并跳过已存在_函数 使用回调函数`f`的返回值设置值,并返回true。 如果`key`已存在,则返回false,且`value`会被忽略。 md5:326c0b7c63d813e7
func (*IntStrMap) X设置值并跳过已存在_函数带锁 ¶
X设置值并跳过已存在_函数带锁 使用回调函数 `f` 的返回值设置值,然后返回 true。 如果 `key` 已存在,则返回 false,`value` 将被忽略。
X设置值并跳过已存在_函数带锁 与 SetIfNotExistFunc 函数的区别在于, 它在哈希映射的 mutex.Lock 保护下执行函数 `f`。 md5:a6ee84b157328f61
type ListMap ¶
type ListMap struct {
// contains filtered or unexported fields
}
ListMap 是一个保持插入顺序的映射。
它使用哈希表存储值,使用双向链表存储顺序。
该结构不支持多线程安全。
参考:http://en.wikipedia.org/wiki/Associative_array md5:a164418fa5f6798e
func X创建链表Map并从Map ¶
X创建链表Map并从Map 从给定的映射(map)`data`创建一个链接映射。 注意,参数`data`映射将被设置为底层数据映射(不进行深拷贝),如果在外部修改该映射可能会导致并发安全问题。 md5:d15c506b7dc77488
func X创建链表mp ¶
X创建链表mp 返回一个空的链接映射。 ListMap 使用哈希表存储值,使用双向链表存储顺序。 参数 `safe` 用于指定是否在并发安全模式下使用映射,默认为 false。 md5:515d74cfd6f50ee5
func (*ListMap) DeepCopy ¶
func (m *ListMap) DeepCopy() interface{}
DeepCopy实现当前类型的深拷贝接口。 md5:9cfbcb08109f6ce1
func (ListMap) MarshalJSON ¶
MarshalJSON 实现了接口 MarshalJSON 以供 json.Marshal 使用。 md5:43c3b36e60a18f9a
Example ¶
package main import ( "fmt" gmap "github.com/888go/goframe/container/gmap" "github.com/888go/goframe/internal/json" gconv "github.com/888go/goframe/util/gconv" ) func main() { var m gmap.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(gconv.String(bytes)) } }
Output: {"k1":"v1","k2":"v2","k3":"v3","k4":"v4"}
func (*ListMap) String ¶
String 将地图转换为字符串形式并返回。 md5:6473318e71d3dfd0
Example ¶
package main import ( "fmt" gmap "github.com/888go/goframe/container/gmap" "github.com/888go/goframe/frame/g" ) func main() { var m gmap.ListMap m.X设置值Map(g.MapAnyAny{ "k1": "v1", }) fmt.Println(m.String()) }
Output: {"k1":"v1"}
func (*ListMap) UnmarshalJSON ¶
UnmarshalJSON实现了json.Unmarshal接口的UnmarshalJSON方法。 md5:f6766b88cf3d63c2
Example ¶
package main import ( "fmt" gmap "github.com/888go/goframe/container/gmap" "github.com/888go/goframe/frame/g" "github.com/888go/goframe/internal/json" gconv "github.com/888go/goframe/util/gconv" ) func main() { var m gmap.ListMap m.X设置值Map(g.MapAnyAny{ "k1": "v1", "k2": "v2", "k3": "v3", "k4": "v4", }) var n gmap.ListMap err := json.Unmarshal(gconv.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 是一个接口实现,用于将任何类型的值设置到映射中。 md5:6f3087a6f7df5477
Example ¶
package main import ( "fmt" gmap "github.com/888go/goframe/container/gmap" gconv "github.com/888go/goframe/util/gconv" ) func main() { type User struct { Uid int Name string Pass1 string `gconv:"password1"` Pass2 string `gconv:"password2"` } var ( m gmap.AnyAnyMap user = User{ Uid: 1, Name: "john", Pass1: "123", Pass2: "456", } ) if err := gconv.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{})
X出栈 从映射中获取并删除一个元素。 md5:2d364ca2b6054111
func (*ListMap) X删除 ¶
func (m *ListMap) X删除(名称 interface{}) (值 interface{})
X删除 通过给定的`key`从map中删除值,并返回被删除的值。 md5:5ee6dc9be17b4ab8
func (*ListMap) X删除多个值 ¶
func (m *ListMap) X删除多个值(名称 []interface{})
通过键删除map中的批删除值。 md5:57081208d84ca7e8
func (*ListMap) X取Map ¶
func (m *ListMap) X取Map() map[interface{}]interface{}
X取Map返回map底层数据的副本。 md5:1be60fb31c8cf7e9
func (*ListMap) X取MapStrAny ¶
X取MapStrAny将映射的底层数据复制为map[string]interface{}。 md5:46db5a1110397522
func (*ListMap) X取值 ¶
func (m *ListMap) X取值(名称 interface{}) (值 interface{})
X取值 根据给定的 `key` 获取值。 md5:2b744a3e455aadfb
func (*ListMap) X取值或设置值 ¶
func (m *ListMap) X取值或设置值(名称 interface{}, 值 interface{}) interface{}
X取值或设置值 通过键返回值, 如果该键不存在,则使用给定的`value`设置值,然后返回这个值。 md5:d8f89b6dec47292b
func (*ListMap) X取值或设置值_函数 ¶
func (m *ListMap) X取值或设置值_函数(名称 interface{}, 回调函数 func() interface{}) interface{}
X取值或设置值_函数 通过键获取值, 如果键不存在,则使用回调函数`f`的返回值设置值, 并返回这个设置的值。 md5:f584dd7547dfbcc0
func (*ListMap) X取值或设置值_函数带锁 ¶
func (m *ListMap) X取值或设置值_函数带锁(名称 interface{}, 回调函数 func() interface{}) interface{}
X取值或设置值_函数带锁 通过键获取值, 如果该值不存在,则使用回调函数 `f` 的返回值进行设置, 然后返回这个值。
X取值或设置值_函数带锁 与 GetOrSetFunc 函数的不同之处在于它在执行映射的 mutex.Lock 保护下执行函数 `f`。 md5:f5e408a3393171bc
func (*ListMap) X取值或设置值泛型类 ¶
X取值或设置值泛型类 返回一个 Var,其中包含从 X取值或设置值泛型类 获取的结果。 返回的 Var 是非并发安全的。 md5:c3730f368b7f62b5
func (*ListMap) X取值或设置值泛型类_函数 ¶
X取值或设置值泛型类_函数 返回一个Var,其结果来自GetOrSetFunc。 返回的Var不具备并发安全性。 md5:7d7674129b73ead1
func (*ListMap) X取值或设置值泛型类_函数带锁 ¶
X取值或设置值泛型类_函数带锁 返回一个从 GetOrSetFuncLock 获得结果的 Var。返回的 Var 不是线程安全的。 md5:bdab644d14c89234
func (*ListMap) X取所有值 ¶
func (m *ListMap) X取所有值() []interface{}
X取所有值 将地图中的所有值返回为一个切片。 md5:a89b5b485c966abd
func (*ListMap) X取所有名称 ¶
func (m *ListMap) X取所有名称() []interface{}
X取所有名称返回映射中所有键作为升序排列的切片。 md5:140d43c5cccae9d9
func (*ListMap) X替换 ¶
func (m *ListMap) X替换(map值 map[interface{}]interface{})
用给定的 `data` 替换映射的数据。 md5:a84ecf2839212d81
func (*ListMap) X设置值 ¶
func (m *ListMap) X设置值(key interface{}, value interface{})
X设置值 将键值对设置到映射中。 md5:78bf4bf763bbf6e3
func (*ListMap) X设置值Map ¶
func (m *ListMap) X设置值Map(map值 map[interface{}]interface{})
将键值对设置到映射中。 md5:863aacdcc54fd6e1
func (*ListMap) X设置值并跳过已存在 ¶
X设置值并跳过已存在 如果键`key`不存在,则将`value`设置到映射中,并返回true。如果键`key`已存在,且`value`将被忽略,函数返回false。 md5:f80895920828f03e
func (*ListMap) X设置值并跳过已存在_函数 ¶
X设置值并跳过已存在_函数 使用回调函数`f`的返回值设置值,并返回true。 如果`key`已存在,则返回false,且`value`会被忽略。 md5:326c0b7c63d813e7
func (*ListMap) X设置值并跳过已存在_函数带锁 ¶
X设置值并跳过已存在_函数带锁 使用回调函数 `f` 的返回值设置值,然后返回 true。 如果 `key` 已存在,它将返回 false,`value` 将被忽略。
X设置值并跳过已存在_函数带锁 与 SetIfNotExistFunc 函数的区别在于, 它在执行函数 `f` 时会获取映射的 mutex.Lock。 md5:12e78d7edb4c4c12
type Map ¶
type Map = AnyAnyMap // Map 是 AnyAnyMap 的别名。 md5:5055001ecc89b987
func NewHashMapFrom别名 ¶
NewHashMapFrom别名 从给定的映射 `data` 创建并返回一个哈希映射。 注意,参数 `data` 映射将被设置为底层数据映射(不进行深拷贝), 在外部修改映射时可能会存在并发安全问题。 参数 `safe` 用于指定是否在并发安全中使用树,其默认值为 false。 md5:0e21655091039f16
func NewHashMap别名 ¶
NewHashMap别名 创建并返回一个空的哈希映射。 参数 `safe` 用于指定是否在并发安全环境下使用映射,默认值为 false。 md5:3d312812ffecae59
type StrAnyMap ¶
type StrAnyMap struct {
// contains filtered or unexported fields
}
StrAnyMap 实现了一个使用 RWMutex(读写互斥锁)并带有开关功能的 map[string]interface{}。 md5:1389fe7e3914ba43
func X创建AnyStr并从Map ¶
X创建AnyStr并从Map 从给定的映射 `data` 创建并返回一个哈希映射。 注意,参数 `data` 映射将被设置为底层数据映射(不进行深拷贝),在外部修改映射时可能会存在并发安全问题。 md5:3f15992f776bd362
func X创建StrAny ¶
X创建StrAny 返回一个空的 StrAnyMap 对象。 参数 `safe` 用于指定是否在并发安全环境下使用该映射,其默认值为 false。 md5:cbe007353b41d97e
func (*StrAnyMap) DeepCopy ¶
func (m *StrAnyMap) DeepCopy() interface{}
DeepCopy实现当前类型的深拷贝接口。 md5:9cfbcb08109f6ce1
func (StrAnyMap) MarshalJSON ¶
MarshalJSON 实现了接口 MarshalJSON 以供 json.Marshal 使用。 md5:43c3b36e60a18f9a
Example ¶
package main import ( "fmt" gmap "github.com/888go/goframe/container/gmap" "github.com/888go/goframe/frame/g" "github.com/888go/goframe/internal/json" gconv "github.com/888go/goframe/util/gconv" ) func main() { var m gmap.StrAnyMap m.X设置值Map(g.MapStrAny{ "k1": "v1", "k2": "v2", "k3": "v3", "k4": "v4", }) bytes, err := json.Marshal(&m) if err == nil { fmt.Println(gconv.String(bytes)) } }
Output: {"k1":"v1","k2":"v2","k3":"v3","k4":"v4"}
func (*StrAnyMap) String ¶
String 将地图转换为字符串形式并返回。 md5:6473318e71d3dfd0
Example ¶
package main import ( "fmt" gmap "github.com/888go/goframe/container/gmap" "github.com/888go/goframe/frame/g" ) func main() { var m gmap.StrAnyMap m.X设置值Map(g.MapStrAny{ "k1": "v1", }) fmt.Println(m.String()) var m1 *gmap.StrAnyMap = nil fmt.Println(len(m1.String())) }
Output: {"k1":"v1"} 0
func (*StrAnyMap) UnmarshalJSON ¶
UnmarshalJSON实现了json.Unmarshal接口的UnmarshalJSON方法。 md5:f6766b88cf3d63c2
Example ¶
package main import ( "fmt" gmap "github.com/888go/goframe/container/gmap" "github.com/888go/goframe/frame/g" "github.com/888go/goframe/internal/json" gconv "github.com/888go/goframe/util/gconv" ) func main() { var m gmap.StrAnyMap m.X设置值Map(g.MapStrAny{ "k1": "v1", "k2": "v2", "k3": "v3", "k4": "v4", }) var n gmap.StrAnyMap err := json.Unmarshal(gconv.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 是一个接口实现,用于将任何类型的值设置到映射中。 md5:6f3087a6f7df5477
Example ¶
package main import ( "fmt" gmap "github.com/888go/goframe/container/gmap" gconv "github.com/888go/goframe/util/gconv" ) func main() { var m gmap.StrAnyMap goWeb := map[string]interface{}{ "goframe": "https://goframe.org", "gin": "https://gin-gonic.com/", "echo": "https://echo.labstack.com/", } if err := gconv.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删除所有nil值 ¶
func (m *StrAnyMap) X删除所有nil值()
X删除所有nil值 删除所有值为 nil 的键值对。 md5:3c964818401771a4
func (*StrAnyMap) X删除所有空值 ¶
func (m *StrAnyMap) X删除所有空值()
X删除所有空值 删除所有值为空的键值对。空值包括:0、nil、false、"",以及切片、映射(map)或通道(channel)的长度为0的情况。 md5:6cdcc470e2c0cab1
func (*StrAnyMap) X取Map ¶
X取Map 返回底层数据映射。 注意,如果它在并发安全的使用场景中,它将返回底层数据的一个副本, 否则返回指向底层数据的指针。 md5:7f8e0898ab3ddb0f
func (*StrAnyMap) X取MapStrAny ¶
X取MapStrAny将映射的底层数据复制为map[string]interface{}。 md5:46db5a1110397522
func (*StrAnyMap) X取值或设置值_函数 ¶
X取值或设置值_函数 通过键获取值, 如果键不存在,则使用回调函数`f`的返回值设置值, 并返回这个设置的值。 md5:f584dd7547dfbcc0
func (*StrAnyMap) X取值或设置值_函数带锁 ¶
X取值或设置值_函数带锁 通过键获取值, 如果不存在,它将使用回调函数 `f` 的返回值设置该值,然后返回这个值。
X取值或设置值_函数带锁 与 GetOrSetFunc 函数的不同之处在于,它在执行函数 `f` 时会先锁定哈希映射的 mutex。 md5:d32fdee586d84dde
func (*StrAnyMap) X取值或设置值泛型类 ¶
X取值或设置值泛型类 返回一个 Var,其中包含从 X取值或设置值泛型类 获取的结果。 返回的 Var 是非并发安全的。 md5:c3730f368b7f62b5
func (*StrAnyMap) X取值或设置值泛型类_函数 ¶
X取值或设置值泛型类_函数 返回一个Var,其结果来自GetOrSetFunc。 返回的Var不具备并发安全性。 md5:7d7674129b73ead1
func (*StrAnyMap) X取值或设置值泛型类_函数带锁 ¶
X取值或设置值泛型类_函数带锁 返回一个从 GetOrSetFuncLock 获得结果的 Var。返回的 Var 不是线程安全的。 md5:bdab644d14c89234
func (*StrAnyMap) X取所有值 ¶
func (m *StrAnyMap) X取所有值() []interface{}
X取所有值 将地图中的所有值返回为一个切片。 md5:a89b5b485c966abd
func (*StrAnyMap) X查找 ¶
X查找 在给定的`key`下搜索映射。 第二个返回参数`found`如果找到键,则为true,否则为false。 md5:99336de9941a3b02
func (*StrAnyMap) X比较 ¶
X比较 函数比较当前地图 `m` 与地图 `other` 并返回它们不同的键。 返回的 `addedKeys` 是存在于地图 `m` 中但不在地图 `other` 中的键。 返回的 `removedKeys` 是存在于地图 `other` 中但不在地图 `m` 中的键。 返回的 `updatedKeys` 是同时存在于地图 `m` 和 `other` 中,但其值不相等(`!=`)的键。 md5:d3bf0bf8c70e9093
func (*StrAnyMap) X清空 ¶
func (m *StrAnyMap) X清空()
X清空 删除映射中的所有数据,它将重新创建一个新的底层数据映射。 md5:0553a5cd54a22f3c
func (*StrAnyMap) X设置值并跳过已存在 ¶
X设置值并跳过已存在 如果键`key`不存在,则将`value`设置到映射中,并返回true。如果键`key`已存在,且`value`将被忽略,函数返回false。 md5:f80895920828f03e
func (*StrAnyMap) X设置值并跳过已存在_函数 ¶
X设置值并跳过已存在_函数 使用回调函数`f`的返回值设置值,并返回true。 如果`key`已存在,则返回false,且`value`会被忽略。 md5:326c0b7c63d813e7
func (*StrAnyMap) X设置值并跳过已存在_函数带锁 ¶
X设置值并跳过已存在_函数带锁 使用回调函数 `f` 的返回值设置值,然后返回 true。 如果 `key` 已存在,则返回 false,`value` 将被忽略。
X设置值并跳过已存在_函数带锁 与 SetIfNotExistFunc 函数的区别在于, 它在哈希映射的 mutex.Lock 保护下执行函数 `f`。 md5:a6ee84b157328f61
type StrIntMap ¶
type StrIntMap struct {
// contains filtered or unexported fields
}
StrIntMap 实现了具有开关的字符串到整数的 RWMutex 映射。 md5:9126e7c711d57c87
func X创建StrInt ¶
X创建StrInt 返回一个空的 StrIntMap 对象。 参数 `safe` 用于指定是否使用并发安全的 map,默认为 false。 md5:040c01e687e6526f
func X创建StrInt并从Map ¶
X创建StrInt并从Map 根据给定的映射 `data` 创建并返回一个新的哈希映射。 请注意,参数 `data` 映射将被设置为底层数据映射(无深拷贝), 当在外部修改该映射时,可能存在一些并发安全问题。 md5:def2dd5f3c6bbd06
func (*StrIntMap) DeepCopy ¶
func (m *StrIntMap) DeepCopy() interface{}
DeepCopy实现当前类型的深拷贝接口。 md5:9cfbcb08109f6ce1
func (StrIntMap) MarshalJSON ¶
MarshalJSON 实现了接口 MarshalJSON 以供 json.Marshal 使用。 md5:43c3b36e60a18f9a
Example ¶
package main import ( "fmt" gmap "github.com/888go/goframe/container/gmap" "github.com/888go/goframe/frame/g" "github.com/888go/goframe/internal/json" gconv "github.com/888go/goframe/util/gconv" ) func main() { var m gmap.StrIntMap m.X设置值Map(g.MapStrInt{ "k1": 1, "k2": 2, "k3": 3, "k4": 4, }) bytes, err := json.Marshal(&m) if err == nil { fmt.Println(gconv.String(bytes)) } }
Output: {"k1":1,"k2":2,"k3":3,"k4":4}
func (*StrIntMap) String ¶
String 将地图转换为字符串形式并返回。 md5:6473318e71d3dfd0
Example ¶
package main import ( "fmt" gmap "github.com/888go/goframe/container/gmap" "github.com/888go/goframe/frame/g" ) func main() { var m gmap.StrIntMap m.X设置值Map(g.MapStrInt{ "k1": 1, }) fmt.Println(m.String()) var m1 *gmap.StrIntMap = nil fmt.Println(len(m1.String())) }
Output: {"k1":1} 0
func (*StrIntMap) UnmarshalJSON ¶
UnmarshalJSON实现了json.Unmarshal接口的UnmarshalJSON方法。 md5:f6766b88cf3d63c2
Example ¶
package main import ( "fmt" gmap "github.com/888go/goframe/container/gmap" "github.com/888go/goframe/frame/g" "github.com/888go/goframe/internal/json" gconv "github.com/888go/goframe/util/gconv" ) func main() { var m gmap.StrIntMap m.X设置值Map(g.MapStrInt{ "k1": 1, "k2": 2, "k3": 3, "k4": 4, }) var n gmap.StrIntMap err := json.Unmarshal(gconv.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 是一个接口实现,用于将任何类型的值设置到映射中。 md5:6f3087a6f7df5477
Example ¶
package main import ( "fmt" gmap "github.com/888go/goframe/container/gmap" gconv "github.com/888go/goframe/util/gconv" ) func main() { var m gmap.StrIntMap goWeb := map[string]int{ "goframe": 1, "gin": 2, "echo": 3, } if err := gconv.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删除所有空值()
X删除所有空值 删除所有值为空的键值对。空值包括:0、nil、false、"",以及切片、映射(map)或通道(channel)的长度为0的情况。 md5:6cdcc470e2c0cab1
func (*StrIntMap) X取Map ¶
X取Map 返回底层数据映射。 注意,如果它在并发安全的使用场景中,它将返回底层数据的一个副本, 否则返回指向底层数据的指针。 md5:7f8e0898ab3ddb0f
func (*StrIntMap) X取MapStrAny ¶
X取MapStrAny将映射的底层数据复制为map[string]interface{}。 md5:46db5a1110397522
func (*StrIntMap) X取值或设置值_函数 ¶
X取值或设置值_函数 通过键获取值, 如果键不存在,则使用回调函数`f`的返回值设置值, 并返回这个设置的值。 md5:f584dd7547dfbcc0
func (*StrIntMap) X取值或设置值_函数带锁 ¶
X取值或设置值_函数带锁 通过键获取值, 如果不存在,它将使用回调函数 `f` 的返回值设置该值,然后返回这个值。
X取值或设置值_函数带锁 与 GetOrSetFunc 函数的不同之处在于,它在执行函数 `f` 时会先锁定哈希映射的 mutex。 md5:d32fdee586d84dde
func (*StrIntMap) X查找 ¶
X查找 在给定的`key`下搜索映射。 第二个返回参数`found`如果找到键,则为true,否则为false。 md5:99336de9941a3b02
func (*StrIntMap) X比较 ¶
X比较 函数比较当前地图 `m` 与地图 `other` 并返回它们不同的键。 返回的 `addedKeys` 是存在于地图 `m` 中但不在地图 `other` 中的键。 返回的 `removedKeys` 是存在于地图 `other` 中但不在地图 `m` 中的键。 返回的 `updatedKeys` 是同时存在于地图 `m` 和 `other` 中,但其值不相等(`!=`)的键。 md5:d3bf0bf8c70e9093
func (*StrIntMap) X清空 ¶
func (m *StrIntMap) X清空()
X清空 删除映射中的所有数据,它将重新创建一个新的底层数据映射。 md5:0553a5cd54a22f3c
func (*StrIntMap) X设置值并跳过已存在 ¶
X设置值并跳过已存在 如果键`key`不存在,则将`value`设置到映射中,并返回true。如果键`key`已存在,且`value`将被忽略,函数返回false。 md5:f80895920828f03e
func (*StrIntMap) X设置值并跳过已存在_函数 ¶
X设置值并跳过已存在_函数 使用回调函数`f`的返回值设置值,并返回true。 如果`key`已存在,则返回false,且`value`会被忽略。 md5:326c0b7c63d813e7
func (*StrIntMap) X设置值并跳过已存在_函数带锁 ¶
X设置值并跳过已存在_函数带锁 使用回调函数 `f` 的返回值设置值,然后返回 true。 如果 `key` 已存在,则返回 false,`value` 将被忽略。
X设置值并跳过已存在_函数带锁 与 SetIfNotExistFunc 函数的区别在于, 它在哈希映射的 mutex.Lock 保护下执行函数 `f`。 md5:a6ee84b157328f61
type StrStrMap ¶
type StrStrMap struct {
// contains filtered or unexported fields
}
StrStrMap实现了具有开关的RWMutex映射[string]string。 md5:39383b0c43f8a057
func X创建StrStr ¶
X创建StrStr 返回一个空的 StrStrMap 对象。 参数 `safe` 用于指定是否在并发安全模式下使用映射, 默认为 false。 md5:305a371834d43bdd
func X创建StrStr并从Map ¶
X创建StrStr并从Map 根据给定的映射 `data` 创建并返回一个哈希映射。 注意,参数 `data` 映射将被设置为底层数据映射(非深度复制), 因此,在外部修改该映射时可能会存在并发安全问题。 md5:00f0f09e1bc308ad
func (*StrStrMap) DeepCopy ¶
func (m *StrStrMap) DeepCopy() interface{}
DeepCopy实现当前类型的深拷贝接口。 md5:9cfbcb08109f6ce1
func (StrStrMap) MarshalJSON ¶
MarshalJSON 实现了接口 MarshalJSON 以供 json.Marshal 使用。 md5:43c3b36e60a18f9a
Example ¶
package main import ( "fmt" gmap "github.com/888go/goframe/container/gmap" "github.com/888go/goframe/frame/g" "github.com/888go/goframe/internal/json" gconv "github.com/888go/goframe/util/gconv" ) func main() { var m gmap.StrStrMap m.X设置值Map(g.MapStrStr{ "k1": "v1", "k2": "v2", "k3": "v3", "k4": "v4", }) bytes, err := json.Marshal(&m) if err == nil { fmt.Println(gconv.String(bytes)) } }
Output: {"k1":"v1","k2":"v2","k3":"v3","k4":"v4"}
func (*StrStrMap) String ¶
String 将地图转换为字符串形式并返回。 md5:6473318e71d3dfd0
Example ¶
package main import ( "fmt" gmap "github.com/888go/goframe/container/gmap" "github.com/888go/goframe/frame/g" ) func main() { var m gmap.StrStrMap m.X设置值Map(g.MapStrStr{ "k1": "v1", }) fmt.Println(m.String()) var m1 *gmap.StrStrMap = nil fmt.Println(len(m1.String())) }
Output: {"k1":"v1"} 0
func (*StrStrMap) UnmarshalJSON ¶
UnmarshalJSON实现了json.Unmarshal接口的UnmarshalJSON方法。 md5:f6766b88cf3d63c2
Example ¶
package main import ( "fmt" gmap "github.com/888go/goframe/container/gmap" "github.com/888go/goframe/frame/g" "github.com/888go/goframe/internal/json" gconv "github.com/888go/goframe/util/gconv" ) func main() { var m gmap.StrStrMap m.X设置值Map(g.MapStrStr{ "k1": "v1", "k2": "v2", "k3": "v3", "k4": "v4", }) var n gmap.StrStrMap err := json.Unmarshal(gconv.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 是一个接口实现,用于将任何类型的值设置到映射中。 md5:6f3087a6f7df5477
Example ¶
package main import ( "fmt" gmap "github.com/888go/goframe/container/gmap" gconv "github.com/888go/goframe/util/gconv" ) func main() { var m gmap.StrStrMap goWeb := map[string]string{ "goframe": "https://goframe.org", "gin": "https://gin-gonic.com/", "echo": "https://echo.labstack.com/", } if err := gconv.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删除所有空值()
X删除所有空值 删除所有值为空的键值对。空值包括:0、nil、false、"",以及切片、映射(map)或通道(channel)的长度为0的情况。 md5:6cdcc470e2c0cab1
func (*StrStrMap) X取Map ¶
X取Map 返回底层数据映射。 注意,如果它在并发安全的使用场景中,它将返回底层数据的一个副本, 否则返回指向底层数据的指针。 md5:7f8e0898ab3ddb0f
func (*StrStrMap) X取MapStrAny ¶
X取MapStrAny将映射的底层数据复制为map[string]interface{}。 md5:46db5a1110397522
func (*StrStrMap) X取值或设置值_函数 ¶
X取值或设置值_函数 通过键获取值, 如果键不存在,则使用回调函数`f`的返回值设置值, 并返回这个设置的值。 md5:f584dd7547dfbcc0
func (*StrStrMap) X取值或设置值_函数带锁 ¶
X取值或设置值_函数带锁 通过键获取值, 如果不存在,它将使用回调函数 `f` 的返回值设置该值,然后返回这个值。
X取值或设置值_函数带锁 与 GetOrSetFunc 函数的不同之处在于,它在执行函数 `f` 时会先锁定哈希映射的 mutex。 md5:d32fdee586d84dde
func (*StrStrMap) X查找 ¶
X查找 在给定的`key`下搜索映射。 第二个返回参数`found`如果找到键,则为true,否则为false。 md5:99336de9941a3b02
func (*StrStrMap) X比较 ¶
X比较 函数比较当前地图 `m` 与地图 `other` 并返回它们不同的键。 返回的 `addedKeys` 是存在于地图 `m` 中但不在地图 `other` 中的键。 返回的 `removedKeys` 是存在于地图 `other` 中但不在地图 `m` 中的键。 返回的 `updatedKeys` 是同时存在于地图 `m` 和 `other` 中,但其值不相等(`!=`)的键。 md5:d3bf0bf8c70e9093
func (*StrStrMap) X清空 ¶
func (m *StrStrMap) X清空()
X清空 删除映射中的所有数据,它将重新创建一个新的底层数据映射。 md5:0553a5cd54a22f3c
func (*StrStrMap) X设置值并跳过已存在 ¶
X设置值并跳过已存在 如果键`key`不存在,则将`value`设置到映射中,并返回true。如果键`key`已存在,且`value`将被忽略,函数返回false。 md5:f80895920828f03e
func (*StrStrMap) X设置值并跳过已存在_函数 ¶
X设置值并跳过已存在_函数 使用回调函数`f`的返回值设置值,并返回true。 如果`key`已存在,则返回false,且`value`会被忽略。 md5:326c0b7c63d813e7
func (*StrStrMap) X设置值并跳过已存在_函数带锁 ¶
X设置值并跳过已存在_函数带锁 使用回调函数 `f` 的返回值设置值,然后返回 true。 如果 `key` 已存在,则返回 false,`value` 将被忽略。
X设置值并跳过已存在_函数带锁 与 SetIfNotExistFunc 函数的区别在于, 它在哈希映射的 mutex.Lock 保护下执行函数 `f`。 md5:a6ee84b157328f61
type TreeMap ¶
type TreeMap = gtree.RedBlackTree
基于红黑树的TreeMap,是RedBlackTree的别名。 md5:9f16a90eb8bdf4c1
func X创建红黑树Map ¶
X创建红黑树Map 使用自定义比较器创建一个树形映射。 参数 `safe` 用于指定是否在并发安全环境下使用树,其默认值为 false。 md5:fde3476bb95496c2
func X创建红黑树Map并从Map ¶
func X创建红黑树Map并从Map(回调函数 func(v1, v2 interface{}) int, map值 map[interface{}]interface{}, 并发安全 ...bool) *TreeMap
X创建红黑树Map并从Map使用自定义比较器和`data`映射创建一个树形映射。 注意,`data`映射将被设置为底层数据映射(不进行深拷贝),在外部更改映射时可能会存在并发安全问题。 参数`safe`用于指定是否使用并发安全的树,默认为false。 md5:2421c85842b1f367