map类

package
v0.0.0-...-fcd50c7 Latest Latest
Warning

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

Go to latest
Published: Aug 21, 2024 License: MIT Imports: 11 Imported by: 0

Documentation

Overview

gmap 包提供了最常用的地图容器,同时支持并发安全/不安全切换特性。 md5:1f468a4fc387a466

Index

Examples

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

func X创建AnyAny(并发安全 ...bool) *AnyAnyMap

X创建AnyAny 创建并返回一个空的哈希映射。 参数 `safe` 用于指定是否使用并发安全的映射,默认为false。 md5:f5ea72ba91a61ee2

func X创建AnyAny并从Map

func X创建AnyAny并从Map(map值 map[interface{}]interface{}, 并发安全 ...bool) *AnyAnyMap

X创建AnyAny并从Map 根据给定的映射 `data` 创建并返回一个哈希映射。 请注意,参数 `data` 映射将被设置为底层数据映射(无深拷贝), 当在外部修改此映射时,可能存在并发安全问题。 md5:e7327f6b619e71b1

func (*AnyAnyMap) DeepCopy

func (m *AnyAnyMap) DeepCopy() interface{}

DeepCopy实现当前类型的深拷贝接口。 md5:9cfbcb08109f6ce1

func (AnyAnyMap) MarshalJSON

func (m AnyAnyMap) MarshalJSON() ([]byte, error)

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

func (m *AnyAnyMap) String() 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

func (m *AnyAnyMap) UnmarshalJSON(b []byte) error

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

func (m *AnyAnyMap) UnmarshalValue(value interface{}) (err error)

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出栈多个(数量 int) map[interface{}]interface{}

X出栈多个 从映射中检索并删除 `size` 个项目。 如果 size 等于 -1,则返回所有项目。 md5:0f2cdbc0238fdc37

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

func (m *AnyAnyMap) X取MapStrAny() map[string]interface{}

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取值或设置值泛型类

func (m *AnyAnyMap) X取值或设置值泛型类(名称 interface{}, 值 interface{}) *gvar.Var

X取值或设置值泛型类 返回一个 Var,其结果来自 GetOrSet。 返回的 Var 是非并发安全的。 md5:5d4b8a2f15c827e0

func (*AnyAnyMap) X取值或设置值泛型类_函数

func (m *AnyAnyMap) X取值或设置值泛型类_函数(名称 interface{}, 回调函 func() interface{}) *gvar.Var

X取值或设置值泛型类_函数 返回一个Var,其结果来自GetOrSetFunc。 返回的Var不具备并发安全性。 md5:7d7674129b73ead1

func (*AnyAnyMap) X取值或设置值泛型类_函数带锁

func (m *AnyAnyMap) X取值或设置值泛型类_函数带锁(名称 interface{}, 回调函数 func() interface{}) *gvar.Var

X取值或设置值泛型类_函数带锁 返回一个从 GetOrSetFuncLock 获得结果的 Var。返回的 Var 不是线程安全的。 md5:bdab644d14c89234

func (*AnyAnyMap) X取值泛型类

func (m *AnyAnyMap) X取值泛型类(名称 interface{}) *gvar.Var

X取值泛型类通过给定的`key`返回一个Var。返回的Var是非并发安全的。 md5:debfb1b2bd13312b

func (*AnyAnyMap) X取副本

func (m *AnyAnyMap) X取副本(并发安全 ...bool) *AnyAnyMap

X取副本 返回一个新的哈希映射,其中包含当前映射数据的副本。 md5:b9264f3636ead08a

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取数量() int

X取数量返回映射的大小。 md5:da42fb3955847483

func (*AnyAnyMap) X合并

func (m *AnyAnyMap) X合并(map值 *AnyAnyMap)

X合并 合并两个哈希映射。 `other` 映射将被合并到映射 `m` 中。 md5:a90c0d2b1f1fdaaa

func (*AnyAnyMap) X名称值交换

func (m *AnyAnyMap) X名称值交换()

X名称值交换 将映射的键值对交换为值键。 md5:dbcb578f1b30fa01

func (*AnyAnyMap) X是否为子集

func (m *AnyAnyMap) X是否为子集(父集Map *AnyAnyMap) bool

X是否为子集 检查当前映射是否是`other`的子映射。 md5:9a6c60859c5a0fbc

func (*AnyAnyMap) X是否为空

func (m *AnyAnyMap) X是否为空() bool

X是否为空 检查映射是否为空。 如果映射为空,则返回true,否则返回false。 md5:ad4bd5c796f79266

func (*AnyAnyMap) X是否存在

func (m *AnyAnyMap) X是否存在(名称 interface{}) bool

X是否存在 检查键是否存在。 如果键存在,它返回 true,否则返回 false。 md5:d8fb22313aadd65f

func (*AnyAnyMap) X替换

func (m *AnyAnyMap) X替换(map值 map[interface{}]interface{})

用给定的 `data` 替换映射的数据。 md5:a84ecf2839212d81

func (*AnyAnyMap) X查找

func (m *AnyAnyMap) X查找(名称 interface{}) (值 interface{}, 成功 bool)

X查找 在给定的`key`下搜索映射。 第二个返回参数`found`如果找到键,则为true,否则为false。 md5:99336de9941a3b02

func (*AnyAnyMap) X比较

func (m *AnyAnyMap) X比较(map值 *AnyAnyMap) (增加的名称, 删除的名称, 更新数据的名称 []interface{})

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设置值并跳过已存在

func (m *AnyAnyMap) X设置值并跳过已存在(名称 interface{}, 值 interface{}) bool

X设置值并跳过已存在 如果键`key`不存在,则将`value`设置到映射中,并返回true。如果键`key`已存在,且`value`将被忽略,函数返回false。 md5:f80895920828f03e

func (*AnyAnyMap) X设置值并跳过已存在_函数

func (m *AnyAnyMap) X设置值并跳过已存在_函数(名称 interface{}, 回调函数 func() interface{}) bool

X设置值并跳过已存在_函数 使用回调函数`f`的返回值设置值,并返回true。 如果`key`已存在,则返回false,且`value`会被忽略。 md5:326c0b7c63d813e7

func (*AnyAnyMap) X设置值并跳过已存在_函数带锁

func (m *AnyAnyMap) X设置值并跳过已存在_函数带锁(名称 interface{}, 回调函数 func() interface{}) bool

X设置值并跳过已存在_函数带锁 使用回调函数 `f` 的返回值设置值,然后返回 true。 如果 `key` 已存在,则返回 false,`value` 将被忽略。

X设置值并跳过已存在_函数带锁 与 SetIfNotExistFunc 函数的区别在于, 它在哈希映射的 mutex.Lock 保护下执行函数 `f`。 md5:a6ee84b157328f61

func (*AnyAnyMap) X遍历

func (m *AnyAnyMap) X遍历(f func(k interface{}, v interface{}) bool)

X遍历 使用自定义回调函数 `f` 读取只读哈希映射。如果 `f` 返回 true,则继续迭代;否则停止。 md5:52d024b320a69c3b

func (*AnyAnyMap) X遍历写锁定

func (m *AnyAnyMap) X遍历写锁定(回调函数 func(m map[interface{}]interface{}))

X遍历写锁定 使用给定的回调函数 `f` 在 RWMutex.Lock 中锁定写操作。 md5:e73dbc0381ebb3dc

func (*AnyAnyMap) X遍历读锁定

func (m *AnyAnyMap) X遍历读锁定(回调函数 func(m map[interface{}]interface{}))

X遍历读锁定 在 RWMutex.RLock 的范围内使用给定的回调函数 `f` 进行读取锁定。 md5:4ae51d9b7445f043

type HashMap

type HashMap = AnyAnyMap // HashMap 是 AnyAnyMap 的别名。 md5:3a5e44b2149d96c7

type IntAnyMap

type IntAnyMap struct {
	// contains filtered or unexported fields
}

IntAnyMap 实现了具有开关的RWMutex接口的[int]interface{}映射。 md5:91c3a42c4b361517

func X创建IntAny

func X创建IntAny(并发安全 ...bool) *IntAnyMap

X创建IntAny 返回一个空的 IntAnyMap 对象。 参数 `safe` 用于指定是否使用并发安全的 map,默认为 false。 md5:1939fd81edf46e9b

func X创建IntAny并从Map

func X创建IntAny并从Map(map值 map[int]interface{}, 并发安全 ...bool) *IntAnyMap

X创建IntAny并从Map 根据给定的映射 `data` 创建并返回一个哈希映射。 注意,参数 `data` 映射将被设置为底层数据映射(非深度复制), 因此,在外部修改该映射时可能会存在一些并发安全问题。 md5:69d7f3d651b3336d

func (*IntAnyMap) DeepCopy

func (m *IntAnyMap) DeepCopy() interface{}

DeepCopy实现当前类型的深拷贝接口。 md5:9cfbcb08109f6ce1

func (IntAnyMap) MarshalJSON

func (m IntAnyMap) MarshalJSON() ([]byte, error)

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

func (m *IntAnyMap) String() 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

func (m *IntAnyMap) UnmarshalJSON(b []byte) error

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

func (m *IntAnyMap) UnmarshalValue(value interface{}) (err error)

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出栈

func (m *IntAnyMap) X出栈() (名称 int, value interface{})

X出栈 从映射中获取并删除一个元素。 md5:2d364ca2b6054111

func (*IntAnyMap) X出栈多个

func (m *IntAnyMap) X出栈多个(数量 int) map[int]interface{}

X出栈多个 从映射中检索并删除 `size` 个项目。 如果 size 等于 -1,则返回所有项目。 md5:0f2cdbc0238fdc37

func (*IntAnyMap) X删除

func (m *IntAnyMap) X删除(名称 int) (value interface{})

X删除 通过给定的`key`从map中删除值,并返回被删除的值。 md5:5ee6dc9be17b4ab8

func (*IntAnyMap) X删除多个值

func (m *IntAnyMap) X删除多个值(名称 []int)

通过键删除map中的批删除值。 md5:57081208d84ca7e8

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

func (m *IntAnyMap) X取Map() map[int]interface{}

X取Map 返回底层数据映射。 注意,如果它在并发安全的使用场景中,它将返回底层数据的一个副本, 否则返回指向底层数据的指针。 md5:7f8e0898ab3ddb0f

func (*IntAnyMap) X取MapStrAny

func (m *IntAnyMap) X取MapStrAny() map[string]interface{}

X取MapStrAny将映射的底层数据复制为map[string]interface{}。 md5:46db5a1110397522

func (*IntAnyMap) X取值

func (m *IntAnyMap) X取值(名称 int) (value interface{})

X取值 根据给定的 `key` 获取值。 md5:2b744a3e455aadfb

func (*IntAnyMap) X取值或设置值

func (m *IntAnyMap) X取值或设置值(名称 int, value interface{}) interface{}

X取值或设置值 通过键返回值, 如果该键不存在,则使用给定的`value`设置值,然后返回这个值。 md5:d8f89b6dec47292b

func (*IntAnyMap) X取值或设置值_函数

func (m *IntAnyMap) X取值或设置值_函数(名称 int, f func() interface{}) interface{}

X取值或设置值_函数通过键获取值, 如果不存在,它将使用回调函数`f`返回的值设置该值,并返回这个值。 md5:c4de9d0fac2a8916

func (*IntAnyMap) X取值或设置值_函数带锁

func (m *IntAnyMap) X取值或设置值_函数带锁(名称 int, f func() interface{}) interface{}

X取值或设置值_函数带锁 通过键获取值, 如果不存在,则使用回调函数 `f` 的返回值设置该键的值,并返回这个值。

X取值或设置值_函数带锁 与 GetOrSetFunc 函数的不同之处在于,它在执行函数 `f` 时会先锁定哈希映射的mutex。 md5:ac8ad0e9416578ba

func (*IntAnyMap) X取值或设置值泛型类

func (m *IntAnyMap) X取值或设置值泛型类(名称 int, value interface{}) *gvar.Var

X取值或设置值泛型类 返回一个 Var,其中包含从 X取值或设置值泛型类 获取的结果。 返回的 Var 是非并发安全的。 md5:c3730f368b7f62b5

func (*IntAnyMap) X取值或设置值泛型类_函数

func (m *IntAnyMap) X取值或设置值泛型类_函数(名称 int, f func() interface{}) *gvar.Var

X取值或设置值泛型类_函数 返回一个Var,其结果来自GetOrSetFunc。 返回的Var不具备并发安全性。 md5:7d7674129b73ead1

func (*IntAnyMap) X取值或设置值泛型类_函数带锁

func (m *IntAnyMap) X取值或设置值泛型类_函数带锁(名称 int, f func() interface{}) *gvar.Var

X取值或设置值泛型类_函数带锁 返回一个从 GetOrSetFuncLock 获得结果的 Var。返回的 Var 不是线程安全的。 md5:bdab644d14c89234

func (*IntAnyMap) X取值泛型类

func (m *IntAnyMap) X取值泛型类(名称 int) *gvar.Var

X取值泛型类通过给定的`key`返回一个Var。返回的Var是非并发安全的。 md5:debfb1b2bd13312b

func (*IntAnyMap) X取副本

func (m *IntAnyMap) X取副本() *IntAnyMap

X取副本 返回一个新的哈希映射,其中包含当前映射数据的副本。 md5:b9264f3636ead08a

func (*IntAnyMap) X取所有值

func (m *IntAnyMap) X取所有值() []interface{}

X取所有值 将地图中的所有值返回为一个切片。 md5:a89b5b485c966abd

func (*IntAnyMap) X取所有名称

func (m *IntAnyMap) X取所有名称() []int

X取所有名称 返回映射中所有键的切片。 md5:425640fff4178659

func (*IntAnyMap) X取数量

func (m *IntAnyMap) X取数量() int

X取数量返回映射的大小。 md5:da42fb3955847483

func (*IntAnyMap) X合并

func (m *IntAnyMap) X合并(map值 *IntAnyMap)

X合并 合并两个哈希映射。 `other` 映射将被合并到映射 `m` 中。 md5:a90c0d2b1f1fdaaa

func (*IntAnyMap) X名称值交换

func (m *IntAnyMap) X名称值交换()

X名称值交换 将映射的键值对交换为值键。 md5:dbcb578f1b30fa01

func (*IntAnyMap) X是否为子集

func (m *IntAnyMap) X是否为子集(父集Map *IntAnyMap) bool

X是否为子集 检查当前映射是否是`other`的子映射。 md5:9a6c60859c5a0fbc

func (*IntAnyMap) X是否为空

func (m *IntAnyMap) X是否为空() bool

X是否为空 检查映射是否为空。 如果映射为空,则返回true,否则返回false。 md5:ad4bd5c796f79266

func (*IntAnyMap) X是否存在

func (m *IntAnyMap) X是否存在(名称 int) bool

X是否存在 检查键是否存在。 如果键存在,它返回 true,否则返回 false。 md5:d8fb22313aadd65f

func (*IntAnyMap) X替换

func (m *IntAnyMap) X替换(map值 map[int]interface{})

用给定的 `data` 替换映射的数据。 md5:a84ecf2839212d81

func (*IntAnyMap) X查找

func (m *IntAnyMap) X查找(名称 int) (value interface{}, found bool)

X查找 在给定的`key`下搜索映射。 第二个返回参数`found`如果找到键,则为true,否则为false。 md5:99336de9941a3b02

func (*IntAnyMap) X比较

func (m *IntAnyMap) X比较(map值 *IntAnyMap) (addedKeys, removedKeys, updatedKeys []int)

X比较 函数比较当前地图 `m` 与地图 `other` 并返回它们不同的键。 返回的 `addedKeys` 是存在于地图 `m` 中但不在地图 `other` 中的键。 返回的 `removedKeys` 是存在于地图 `other` 中但不在地图 `m` 中的键。 返回的 `updatedKeys` 是同时存在于地图 `m` 和 `other` 中,但其值不相等(`!=`)的键。 md5:d3bf0bf8c70e9093

func (*IntAnyMap) X浅拷贝

func (m *IntAnyMap) X浅拷贝() map[int]interface{}

X浅拷贝 返回哈希映射底层数据的一个副本。 md5:46f762167d5821b1

func (*IntAnyMap) X清空

func (m *IntAnyMap) X清空()

X清空 删除映射中的所有数据,它将重新创建一个新的底层数据映射。 md5:0553a5cd54a22f3c

func (*IntAnyMap) X设置值

func (m *IntAnyMap) X设置值(key int, val interface{})

X设置值 将键值对设置到哈希映射中。 md5:07ea2dd1ea28820a

func (*IntAnyMap) X设置值Map

func (m *IntAnyMap) X设置值Map(map值 map[int]interface{})

将键值对设置到哈希映射中。 md5:e3f3f8a1b69eb832

func (*IntAnyMap) X设置值并跳过已存在

func (m *IntAnyMap) X设置值并跳过已存在(名称 int, value interface{}) bool

X设置值并跳过已存在 如果键`key`不存在,则将`value`设置到映射中,并返回true。如果键`key`已存在,且`value`将被忽略,函数返回false。 md5:f80895920828f03e

func (*IntAnyMap) X设置值并跳过已存在_函数

func (m *IntAnyMap) X设置值并跳过已存在_函数(名称 int, f func() interface{}) bool

X设置值并跳过已存在_函数 使用回调函数`f`的返回值设置值,并返回true。 如果`key`已存在,则返回false,且`value`会被忽略。 md5:326c0b7c63d813e7

func (*IntAnyMap) X设置值并跳过已存在_函数带锁

func (m *IntAnyMap) X设置值并跳过已存在_函数带锁(名称 int, f func() interface{}) bool

X设置值并跳过已存在_函数带锁 使用回调函数 `f` 的返回值设置值,然后返回 true。 如果 `key` 已存在,则返回 false,`value` 将被忽略。

X设置值并跳过已存在_函数带锁 与 SetIfNotExistFunc 函数的区别在于, 它在哈希映射的 mutex.Lock 保护下执行函数 `f`。 md5:a6ee84b157328f61

func (*IntAnyMap) X遍历

func (m *IntAnyMap) X遍历(f func(k int, v interface{}) bool)

X遍历 使用自定义回调函数 `f` 读取只读哈希映射。如果 `f` 返回 true,则继续迭代;否则停止。 md5:52d024b320a69c3b

func (*IntAnyMap) X遍历写锁定

func (m *IntAnyMap) X遍历写锁定(回调函数 func(m map[int]interface{}))

X遍历写锁定 使用给定的回调函数 `f` 在 RWMutex.Lock 中锁定写操作。 md5:e73dbc0381ebb3dc

func (*IntAnyMap) X遍历读锁定

func (m *IntAnyMap) X遍历读锁定(回调函数 func(m map[int]interface{}))

X遍历读锁定 在 RWMutex.RLock 的范围内使用给定的回调函数 `f` 进行读取锁定。 md5:4ae51d9b7445f043

type IntIntMap

type IntIntMap struct {
	// contains filtered or unexported fields
}

IntIntMap 实现了一个具有开关的读写锁保护的 int 到 int 的映射。 md5:2ad66ce15680a609

func X创建IntInt

func X创建IntInt(并发安全 ...bool) *IntIntMap

X创建IntInt 返回一个空的 IntIntMap 对象。 参数 `safe` 用于指定是否在并发安全模式下使用映射,默认为 false。 md5:244b09f1e03a74c9

func X创建IntInt并从Map

func X创建IntInt并从Map(map值 map[int]int, 并发安全 ...bool) *IntIntMap

X创建IntInt并从Map 从给定的映射 `data` 创建并返回一个哈希映射。 注意,参数 `data` 映射将被设置为底层数据映射(不进行深拷贝),在外部修改映射时可能会存在并发安全问题。 md5:db30850605ef2eeb

func (*IntIntMap) DeepCopy

func (m *IntIntMap) DeepCopy() interface{}

DeepCopy实现当前类型的深拷贝接口。 md5:9cfbcb08109f6ce1

func (IntIntMap) MarshalJSON

func (m IntIntMap) MarshalJSON() ([]byte, error)

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

func (m *IntIntMap) String() 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

func (m *IntIntMap) UnmarshalJSON(b []byte) error

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

func (m *IntIntMap) UnmarshalValue(value interface{}) (err error)

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出栈() (名称, 值 int)

X出栈 从映射中获取并删除一个元素。 md5:2d364ca2b6054111

func (*IntIntMap) X出栈多个

func (m *IntIntMap) X出栈多个(数量 int) map[int]int

X出栈多个 从映射中检索并删除 `size` 个项目。 如果 size 等于 -1,则返回所有项目。 md5:0f2cdbc0238fdc37

func (*IntIntMap) X删除

func (m *IntIntMap) X删除(名称 int) (value int)

X删除 通过给定的`key`从map中删除值,并返回被删除的值。 md5:5ee6dc9be17b4ab8

func (*IntIntMap) X删除多个值

func (m *IntIntMap) X删除多个值(名称 []int)

通过键删除map中的批删除值。 md5:57081208d84ca7e8

func (*IntIntMap) X删除所有空值

func (m *IntIntMap) X删除所有空值()

X删除所有空值 删除所有值为空的键值对。空值包括:0、nil、false、"",以及切片、映射(map)或通道(channel)的长度为0的情况。 md5:6cdcc470e2c0cab1

func (*IntIntMap) X取Map

func (m *IntIntMap) X取Map() map[int]int

X取Map 返回底层数据映射。 注意,如果它在并发安全的使用场景中,它将返回底层数据的一个副本, 否则返回指向底层数据的指针。 md5:7f8e0898ab3ddb0f

func (*IntIntMap) X取MapStrAny

func (m *IntIntMap) X取MapStrAny() map[string]interface{}

X取MapStrAny将映射的底层数据复制为map[string]interface{}。 md5:46db5a1110397522

func (*IntIntMap) X取值

func (m *IntIntMap) X取值(名称 int) (value int)

X取值 根据给定的 `key` 获取值。 md5:2b744a3e455aadfb

func (*IntIntMap) X取值或设置值

func (m *IntIntMap) X取值或设置值(名称 int, value int) int

X取值或设置值 通过键返回值, 如果该键不存在,则使用给定的`value`设置值,然后返回这个值。 md5:d8f89b6dec47292b

func (*IntIntMap) X取值或设置值_函数

func (m *IntIntMap) X取值或设置值_函数(名称 int, f func() int) int

X取值或设置值_函数通过键获取值, 如果不存在,它将使用回调函数`f`返回的值设置该值,并返回这个值。 md5:c4de9d0fac2a8916

func (*IntIntMap) X取值或设置值_函数带锁

func (m *IntIntMap) X取值或设置值_函数带锁(名称 int, f func() int) int

X取值或设置值_函数带锁 通过键获取值, 如果不存在,则使用回调函数 `f` 的返回值设置该键的值,并返回这个值。

X取值或设置值_函数带锁 与 GetOrSetFunc 函数的不同之处在于,它在执行函数 `f` 时会先锁定哈希映射的mutex。 md5:ac8ad0e9416578ba

func (*IntIntMap) X取副本

func (m *IntIntMap) X取副本() *IntIntMap

X取副本 返回一个新的哈希映射,其中包含当前映射数据的副本。 md5:b9264f3636ead08a

func (*IntIntMap) X取所有值

func (m *IntIntMap) X取所有值() []int

X取所有值 将地图中的所有值返回为一个切片。 md5:a89b5b485c966abd

func (*IntIntMap) X取所有名称

func (m *IntIntMap) X取所有名称() []int

X取所有名称 返回映射中所有键的切片。 md5:425640fff4178659

func (*IntIntMap) X取数量

func (m *IntIntMap) X取数量() int

X取数量返回映射的大小。 md5:da42fb3955847483

func (*IntIntMap) X合并

func (m *IntIntMap) X合并(map值 *IntIntMap)

X合并 合并两个哈希映射。 `other` 映射将被合并到映射 `m` 中。 md5:a90c0d2b1f1fdaaa

func (*IntIntMap) X名称值交换

func (m *IntIntMap) X名称值交换()

X名称值交换 将映射的键值对交换为值键。 md5:dbcb578f1b30fa01

func (*IntIntMap) X是否为子集

func (m *IntIntMap) X是否为子集(父集Map *IntIntMap) bool

X是否为子集 检查当前映射是否是`other`的子映射。 md5:9a6c60859c5a0fbc

func (*IntIntMap) X是否为空

func (m *IntIntMap) X是否为空() bool

X是否为空 检查映射是否为空。 如果映射为空,则返回true,否则返回false。 md5:ad4bd5c796f79266

func (*IntIntMap) X是否存在

func (m *IntIntMap) X是否存在(名称 int) bool

X是否存在 检查键是否存在。 如果键存在,它返回 true,否则返回 false。 md5:d8fb22313aadd65f

func (*IntIntMap) X替换

func (m *IntIntMap) X替换(map值 map[int]int)

用给定的 `data` 替换映射的数据。 md5:a84ecf2839212d81

func (*IntIntMap) X查找

func (m *IntIntMap) X查找(名称 int) (value int, found bool)

X查找 在给定的`key`下搜索映射。 第二个返回参数`found`如果找到键,则为true,否则为false。 md5:99336de9941a3b02

func (*IntIntMap) X比较

func (m *IntIntMap) X比较(map值 *IntIntMap) (addedKeys, removedKeys, updatedKeys []int)

X比较 函数比较当前地图 `m` 与地图 `other` 并返回它们不同的键。 返回的 `addedKeys` 是存在于地图 `m` 中但不在地图 `other` 中的键。 返回的 `removedKeys` 是存在于地图 `other` 中但不在地图 `m` 中的键。 返回的 `updatedKeys` 是同时存在于地图 `m` 和 `other` 中,但其值不相等(`!=`)的键。 md5:d3bf0bf8c70e9093

func (*IntIntMap) X浅拷贝

func (m *IntIntMap) X浅拷贝() map[int]int

X浅拷贝 返回哈希映射底层数据的一个副本。 md5:46f762167d5821b1

func (*IntIntMap) X清空

func (m *IntIntMap) X清空()

X清空 删除映射中的所有数据,它将重新创建一个新的底层数据映射。 md5:0553a5cd54a22f3c

func (*IntIntMap) X设置值

func (m *IntIntMap) X设置值(key int, val int)

X设置值 将键值对设置到哈希映射中。 md5:07ea2dd1ea28820a

func (*IntIntMap) X设置值Map

func (m *IntIntMap) X设置值Map(map值 map[int]int)

将键值对设置到哈希映射中。 md5:e3f3f8a1b69eb832

func (*IntIntMap) X设置值并跳过已存在

func (m *IntIntMap) X设置值并跳过已存在(名称 int, value int) bool

X设置值并跳过已存在 如果键`key`不存在,则将`value`设置到映射中,并返回true。如果键`key`已存在,且`value`将被忽略,函数返回false。 md5:f80895920828f03e

func (*IntIntMap) X设置值并跳过已存在_函数

func (m *IntIntMap) X设置值并跳过已存在_函数(名称 int, f func() int) bool

X设置值并跳过已存在_函数 使用回调函数`f`的返回值设置值,并返回true。 如果`key`已存在,则返回false,且`value`会被忽略。 md5:326c0b7c63d813e7

func (*IntIntMap) X设置值并跳过已存在_函数带锁

func (m *IntIntMap) X设置值并跳过已存在_函数带锁(名称 int, f func() int) bool

X设置值并跳过已存在_函数带锁 使用回调函数 `f` 的返回值设置值,然后返回 true。 如果 `key` 已存在,则返回 false,`value` 将被忽略。

X设置值并跳过已存在_函数带锁 与 SetIfNotExistFunc 函数的区别在于, 它在哈希映射的 mutex.Lock 保护下执行函数 `f`。 md5:a6ee84b157328f61

func (*IntIntMap) X遍历

func (m *IntIntMap) X遍历(f func(k int, v int) bool)

X遍历 使用自定义回调函数 `f` 读取只读哈希映射。如果 `f` 返回 true,则继续迭代;否则停止。 md5:52d024b320a69c3b

func (*IntIntMap) X遍历写锁定

func (m *IntIntMap) X遍历写锁定(回调函数 func(m map[int]int))

X遍历写锁定 使用给定的回调函数 `f` 在 RWMutex.Lock 中锁定写操作。 md5:e73dbc0381ebb3dc

func (*IntIntMap) X遍历读锁定

func (m *IntIntMap) X遍历读锁定(回调函数 func(m map[int]int))

X遍历读锁定 在 RWMutex.RLock 的范围内使用给定的回调函数 `f` 进行读取锁定。 md5:4ae51d9b7445f043

type IntStrMap

type IntStrMap struct {
	// contains filtered or unexported fields
}

IntStrMap 实现了一个带有开关的读写锁保护的 int 到 string 的映射。 md5:6cf655e78fde5a30

func X创建IntStr

func X创建IntStr(并发安全 ...bool) *IntStrMap

X创建IntStr 返回一个空的 IntStrMap 对象。 参数 `safe` 用于指定是否使用并发安全的 map,默认为 false。 md5:2be815573a3b558d

func X创建IntStr并从Map

func X创建IntStr并从Map(map值 map[int]string, 并发安全 ...bool) *IntStrMap

X创建IntStr并从Map 从给定的映射 `data` 创建并返回一个哈希映射。 注意,参数 `data` 映射将被设置为底层数据映射(不进行深拷贝), 在外部修改映射时可能会出现并发安全问题。 md5:ad2e556b3e927079

func (*IntStrMap) DeepCopy

func (m *IntStrMap) DeepCopy() interface{}

DeepCopy实现当前类型的深拷贝接口。 md5:9cfbcb08109f6ce1

func (IntStrMap) MarshalJSON

func (m IntStrMap) MarshalJSON() ([]byte, error)

MarshalJSON 实现了接口 MarshalJSON 以供 json.Marshal 使用。 md5:43c3b36e60a18f9a

func (*IntStrMap) String

func (m *IntStrMap) String() string

String 将地图转换为字符串形式并返回。 md5:6473318e71d3dfd0

func (*IntStrMap) UnmarshalJSON

func (m *IntStrMap) UnmarshalJSON(b []byte) error

UnmarshalJSON实现了json.Unmarshal接口的UnmarshalJSON方法。 md5:f6766b88cf3d63c2

func (*IntStrMap) UnmarshalValue

func (m *IntStrMap) UnmarshalValue(value interface{}) (err error)

UnmarshalValue 是一个接口实现,用于将任何类型的值设置到映射中。 md5:6f3087a6f7df5477

func (*IntStrMap) X出栈

func (m *IntStrMap) X出栈() (名称 int, value string)

X出栈 从映射中获取并删除一个元素。 md5:2d364ca2b6054111

func (*IntStrMap) X出栈多个

func (m *IntStrMap) X出栈多个(数量 int) map[int]string

X出栈多个 从映射中检索并删除 `size` 个项目。 如果 size 等于 -1,则返回所有项目。 md5:0f2cdbc0238fdc37

func (*IntStrMap) X删除

func (m *IntStrMap) X删除(名称 int) (value string)

X删除 通过给定的`key`从map中删除值,并返回被删除的值。 md5:5ee6dc9be17b4ab8

func (*IntStrMap) X删除多个值

func (m *IntStrMap) X删除多个值(名称 []int)

通过键删除map中的批删除值。 md5:57081208d84ca7e8

func (*IntStrMap) X删除所有空值

func (m *IntStrMap) X删除所有空值()

X删除所有空值 删除所有值为空的键值对。空值包括:0、nil、false、"",以及切片、映射(map)或通道(channel)的长度为0的情况。 md5:6cdcc470e2c0cab1

func (*IntStrMap) X取Map

func (m *IntStrMap) X取Map() map[int]string

X取Map 返回底层数据映射。 注意,如果它在并发安全的使用场景中,它将返回底层数据的一个副本, 否则返回指向底层数据的指针。 md5:7f8e0898ab3ddb0f

func (*IntStrMap) X取MapStrAny

func (m *IntStrMap) X取MapStrAny() map[string]interface{}

X取MapStrAny将映射的底层数据复制为map[string]interface{}。 md5:46db5a1110397522

func (*IntStrMap) X取值

func (m *IntStrMap) X取值(名称 int) (value string)

X取值 根据给定的 `key` 获取值。 md5:2b744a3e455aadfb

func (*IntStrMap) X取值或设置值

func (m *IntStrMap) X取值或设置值(名称 int, value string) string

X取值或设置值 通过键返回值, 如果该键不存在,则使用给定的`value`设置值,然后返回这个值。 md5:d8f89b6dec47292b

func (*IntStrMap) X取值或设置值_函数

func (m *IntStrMap) X取值或设置值_函数(名称 int, f func() string) string

X取值或设置值_函数通过键获取值, 如果不存在,它将使用回调函数`f`返回的值设置该值,并返回这个值。 md5:c4de9d0fac2a8916

func (*IntStrMap) X取值或设置值_函数带锁

func (m *IntStrMap) X取值或设置值_函数带锁(名称 int, f func() string) string

X取值或设置值_函数带锁 通过键获取值, 如果不存在,则使用回调函数 `f` 的返回值设置该键的值,并返回这个值。

X取值或设置值_函数带锁 与 GetOrSetFunc 函数的不同之处在于,它在执行函数 `f` 时会先锁定哈希映射的mutex。 md5:ac8ad0e9416578ba

func (*IntStrMap) X取副本

func (m *IntStrMap) X取副本() *IntStrMap

X取副本 返回一个新的哈希映射,其中包含当前映射数据的副本。 md5:b9264f3636ead08a

func (*IntStrMap) X取所有值

func (m *IntStrMap) X取所有值() []string

X取所有值 将地图中的所有值返回为一个切片。 md5:a89b5b485c966abd

func (*IntStrMap) X取所有名称

func (m *IntStrMap) X取所有名称() []int

X取所有名称 返回映射中所有键的切片。 md5:425640fff4178659

func (*IntStrMap) X取数量

func (m *IntStrMap) X取数量() int

X取数量返回映射的大小。 md5:da42fb3955847483

func (*IntStrMap) X合并

func (m *IntStrMap) X合并(map值 *IntStrMap)

X合并 合并两个哈希映射。 `other` 映射将被合并到映射 `m` 中。 md5:a90c0d2b1f1fdaaa

func (*IntStrMap) X名称值交换

func (m *IntStrMap) X名称值交换()

X名称值交换 将映射的键值对交换为值键。 md5:dbcb578f1b30fa01

func (*IntStrMap) X是否为子集

func (m *IntStrMap) X是否为子集(父集Map *IntStrMap) bool

X是否为子集 检查当前映射是否是`other`的子映射。 md5:9a6c60859c5a0fbc

func (*IntStrMap) X是否为空

func (m *IntStrMap) X是否为空() bool

X是否为空 检查映射是否为空。 如果映射为空,则返回true,否则返回false。 md5:ad4bd5c796f79266

func (*IntStrMap) X是否存在

func (m *IntStrMap) X是否存在(名称 int) bool

X是否存在 检查键是否存在。 如果键存在,它返回 true,否则返回 false。 md5:d8fb22313aadd65f

func (*IntStrMap) X替换

func (m *IntStrMap) X替换(map值 map[int]string)

用给定的 `data` 替换映射的数据。 md5:a84ecf2839212d81

func (*IntStrMap) X查找

func (m *IntStrMap) X查找(名称 int) (value string, found bool)

X查找 在给定的`key`下搜索映射。 第二个返回参数`found`如果找到键,则为true,否则为false。 md5:99336de9941a3b02

func (*IntStrMap) X比较

func (m *IntStrMap) X比较(map值 *IntStrMap) (addedKeys, removedKeys, updatedKeys []int)

X比较 函数比较当前地图 `m` 与地图 `other` 并返回它们不同的键。 返回的 `addedKeys` 是存在于地图 `m` 中但不在地图 `other` 中的键。 返回的 `removedKeys` 是存在于地图 `other` 中但不在地图 `m` 中的键。 返回的 `updatedKeys` 是同时存在于地图 `m` 和 `other` 中,但其值不相等(`!=`)的键。 md5:d3bf0bf8c70e9093

func (*IntStrMap) X浅拷贝

func (m *IntStrMap) X浅拷贝() map[int]string

X浅拷贝 返回哈希映射底层数据的一个副本。 md5:46f762167d5821b1

func (*IntStrMap) X清空

func (m *IntStrMap) X清空()

X清空 删除映射中的所有数据,它将重新创建一个新的底层数据映射。 md5:0553a5cd54a22f3c

func (*IntStrMap) X设置值

func (m *IntStrMap) X设置值(key int, val string)

X设置值 将键值对设置到哈希映射中。 md5:07ea2dd1ea28820a

func (*IntStrMap) X设置值Map

func (m *IntStrMap) X设置值Map(map值 map[int]string)

将键值对设置到哈希映射中。 md5:e3f3f8a1b69eb832

func (*IntStrMap) X设置值并跳过已存在

func (m *IntStrMap) X设置值并跳过已存在(名称 int, value string) bool

X设置值并跳过已存在 如果键`key`不存在,则将`value`设置到映射中,并返回true。如果键`key`已存在,且`value`将被忽略,函数返回false。 md5:f80895920828f03e

func (*IntStrMap) X设置值并跳过已存在_函数

func (m *IntStrMap) X设置值并跳过已存在_函数(名称 int, f func() string) bool

X设置值并跳过已存在_函数 使用回调函数`f`的返回值设置值,并返回true。 如果`key`已存在,则返回false,且`value`会被忽略。 md5:326c0b7c63d813e7

func (*IntStrMap) X设置值并跳过已存在_函数带锁

func (m *IntStrMap) X设置值并跳过已存在_函数带锁(名称 int, f func() string) bool

X设置值并跳过已存在_函数带锁 使用回调函数 `f` 的返回值设置值,然后返回 true。 如果 `key` 已存在,则返回 false,`value` 将被忽略。

X设置值并跳过已存在_函数带锁 与 SetIfNotExistFunc 函数的区别在于, 它在哈希映射的 mutex.Lock 保护下执行函数 `f`。 md5:a6ee84b157328f61

func (*IntStrMap) X遍历

func (m *IntStrMap) X遍历(f func(k int, v string) bool)

X遍历 使用自定义回调函数 `f` 读取只读哈希映射。如果 `f` 返回 true,则继续迭代;否则停止。 md5:52d024b320a69c3b

func (*IntStrMap) X遍历写锁定

func (m *IntStrMap) X遍历写锁定(回调函数 func(m map[int]string))

X遍历写锁定 使用给定的回调函数 `f` 在 RWMutex.Lock 中锁定写操作。 md5:e73dbc0381ebb3dc

func (*IntStrMap) X遍历读锁定

func (m *IntStrMap) X遍历读锁定(回调函数 func(m map[int]string))

X遍历读锁定 在 RWMutex.RLock 的范围内使用给定的回调函数 `f` 进行读取锁定。 md5:4ae51d9b7445f043

type ListMap

type ListMap struct {
	// contains filtered or unexported fields
}

ListMap 是一个保持插入顺序的映射。

它使用哈希表存储值,使用双向链表存储顺序。

该结构不支持多线程安全。

参考:http://en.wikipedia.org/wiki/Associative_array md5:a164418fa5f6798e

func X创建链表Map并从Map

func X创建链表Map并从Map(map值 map[interface{}]interface{}, 并发安全 ...bool) *ListMap

X创建链表Map并从Map 从给定的映射(map)`data`创建一个链接映射。 注意,参数`data`映射将被设置为底层数据映射(不进行深拷贝),如果在外部修改该映射可能会导致并发安全问题。 md5:d15c506b7dc77488

func X创建链表mp

func X创建链表mp(并发安全 ...bool) *ListMap

X创建链表mp 返回一个空的链接映射。 ListMap 使用哈希表存储值,使用双向链表存储顺序。 参数 `safe` 用于指定是否在并发安全模式下使用映射,默认为 false。 md5:515d74cfd6f50ee5

func (*ListMap) DeepCopy

func (m *ListMap) DeepCopy() interface{}

DeepCopy实现当前类型的深拷贝接口。 md5:9cfbcb08109f6ce1

func (ListMap) MarshalJSON

func (m ListMap) MarshalJSON() (jsonBytes []byte, err error)

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

func (m *ListMap) String() 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

func (m *ListMap) UnmarshalJSON(b []byte) error

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

func (m *ListMap) UnmarshalValue(value interface{}) (err error)

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出栈多个(数量 int) map[interface{}]interface{}

X出栈多个 从映射中检索并删除 `size` 个项目。 如果 size 等于 -1,则返回所有项目。 md5:0f2cdbc0238fdc37

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删除所有空值

func (m *ListMap) X删除所有空值()

X删除所有空值 删除所有值为空的键值对。 md5:77ba324f6e82e0c4

func (*ListMap) X取Map

func (m *ListMap) X取Map() map[interface{}]interface{}

X取Map返回map底层数据的副本。 md5:1be60fb31c8cf7e9

func (*ListMap) X取MapStrAny

func (m *ListMap) X取MapStrAny() map[string]interface{}

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取值或设置值泛型类

func (m *ListMap) X取值或设置值泛型类(名称 interface{}, 值 interface{}) *gvar.Var

X取值或设置值泛型类 返回一个 Var,其中包含从 X取值或设置值泛型类 获取的结果。 返回的 Var 是非并发安全的。 md5:c3730f368b7f62b5

func (*ListMap) X取值或设置值泛型类_函数

func (m *ListMap) X取值或设置值泛型类_函数(名称 interface{}, 回调函 func() interface{}) *gvar.Var

X取值或设置值泛型类_函数 返回一个Var,其结果来自GetOrSetFunc。 返回的Var不具备并发安全性。 md5:7d7674129b73ead1

func (*ListMap) X取值或设置值泛型类_函数带锁

func (m *ListMap) X取值或设置值泛型类_函数带锁(名称 interface{}, 回调函数 func() interface{}) *gvar.Var

X取值或设置值泛型类_函数带锁 返回一个从 GetOrSetFuncLock 获得结果的 Var。返回的 Var 不是线程安全的。 md5:bdab644d14c89234

func (*ListMap) X取值泛型类

func (m *ListMap) X取值泛型类(名称 interface{}) *gvar.Var

X取值泛型类通过给定的`key`返回一个Var。返回的Var是非并发安全的。 md5:debfb1b2bd13312b

func (*ListMap) X取副本

func (m *ListMap) X取副本(并发安全 ...bool) *ListMap

X取副本 返回一个新的链接映射,包含当前映射数据的副本。 md5:c24afe920899b3a6

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取数量() (数量 int)

X取数量返回映射的大小。 md5:da42fb3955847483

func (*ListMap) X合并

func (m *ListMap) X合并(map值 *ListMap)

X合并 合并两个链接映射。 将将`other`映射合并到`m`映射中。 md5:2ec13ae7c16e16f8

func (*ListMap) X名称值交换

func (m *ListMap) X名称值交换()

X名称值交换 将映射的键值对交换为值键。 md5:dbcb578f1b30fa01

func (*ListMap) X是否为空

func (m *ListMap) X是否为空() bool

X是否为空 检查映射是否为空。 如果映射为空,则返回true,否则返回false。 md5:ad4bd5c796f79266

func (*ListMap) X是否存在

func (m *ListMap) X是否存在(名称 interface{}) (ok bool)

X是否存在 检查键是否存在。 如果键存在,它返回 true,否则返回 false。 md5:d8fb22313aadd65f

func (*ListMap) X替换

func (m *ListMap) X替换(map值 map[interface{}]interface{})

用给定的 `data` 替换映射的数据。 md5:a84ecf2839212d81

func (*ListMap) X查找

func (m *ListMap) X查找(名称 interface{}) (值 interface{}, 成功 bool)

X查找 在给定的`key`下搜索映射。 第二个返回参数`found`如果找到键,则为true,否则为false。 md5:99336de9941a3b02

func (*ListMap) X清空

func (m *ListMap) X清空()

X清空 删除映射中的所有数据,它将重新创建一个新的底层数据映射。 md5:0553a5cd54a22f3c

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设置值并跳过已存在

func (m *ListMap) X设置值并跳过已存在(名称 interface{}, 值 interface{}) bool

X设置值并跳过已存在 如果键`key`不存在,则将`value`设置到映射中,并返回true。如果键`key`已存在,且`value`将被忽略,函数返回false。 md5:f80895920828f03e

func (*ListMap) X设置值并跳过已存在_函数

func (m *ListMap) X设置值并跳过已存在_函数(名称 interface{}, 回调函数 func() interface{}) bool

X设置值并跳过已存在_函数 使用回调函数`f`的返回值设置值,并返回true。 如果`key`已存在,则返回false,且`value`会被忽略。 md5:326c0b7c63d813e7

func (*ListMap) X设置值并跳过已存在_函数带锁

func (m *ListMap) X设置值并跳过已存在_函数带锁(名称 interface{}, 回调函数 func() interface{}) bool

X设置值并跳过已存在_函数带锁 使用回调函数 `f` 的返回值设置值,然后返回 true。 如果 `key` 已存在,它将返回 false,`value` 将被忽略。

X设置值并跳过已存在_函数带锁 与 SetIfNotExistFunc 函数的区别在于, 它在执行函数 `f` 时会获取映射的 mutex.Lock。 md5:12e78d7edb4c4c12

func (*ListMap) X遍历

func (m *ListMap) X遍历(f func(key, value interface{}) bool)

X遍历 是 IteratorAsc 的别名。 md5:1bfdea306db62845

func (*ListMap) X遍历升序

func (m *ListMap) X遍历升序(回调函数 func(key interface{}, value interface{}) bool)

X遍历升序 使用给定的回调函数 `f` 以升序遍历地图,并且是只读遍历。 如果 `f` 返回 true,则继续遍历;如果返回 false,则停止遍历。 md5:da20ab57c78da7c6

func (*ListMap) X遍历降序

func (m *ListMap) X遍历降序(回调函数 func(key interface{}, value interface{}) bool)

X遍历降序 使用给定的回调函数 `f` 以降序遍历只读映射。 如果 `f` 返回 true,则继续遍历;如果返回 false,则停止。 md5:1745f0b396846901

type Map

type Map = AnyAnyMap // Map 是 AnyAnyMap 的别名。 md5:5055001ecc89b987

func NewHashMapFrom别名

func NewHashMapFrom别名(map值 map[interface{}]interface{}, 并发安全 ...bool) *Map

NewHashMapFrom别名 从给定的映射 `data` 创建并返回一个哈希映射。 注意,参数 `data` 映射将被设置为底层数据映射(不进行深拷贝), 在外部修改映射时可能会存在并发安全问题。 参数 `safe` 用于指定是否在并发安全中使用树,其默认值为 false。 md5:0e21655091039f16

func NewHashMap别名

func NewHashMap别名(并发安全 ...bool) *Map

NewHashMap别名 创建并返回一个空的哈希映射。 参数 `safe` 用于指定是否在并发安全环境下使用映射,默认值为 false。 md5:3d312812ffecae59

func X创建

func X创建(并发安全 ...bool) *Map

X创建 创建并返回一个空的哈希映射。 参数 `safe` 用于指定是否在并发安全模式下使用映射,默认为 false。 md5:fca522578c694911

func X创建并从Map

func X创建并从Map(map值 map[interface{}]interface{}, 并发安全 ...bool) *Map

X创建并从Map 根据给定的映射 `data` 创建并返回一个哈希映射。 注意,参数 `data` 映射将被设置为底层数据映射(非深度复制), 因此,在外部修改该映射时可能会存在并发安全问题。 参数 `safe` 用于指定是否使用并发安全的树结构,默认为 false。 md5:f596b726a77cdf08

type StrAnyMap

type StrAnyMap struct {
	// contains filtered or unexported fields
}

StrAnyMap 实现了一个使用 RWMutex(读写互斥锁)并带有开关功能的 map[string]interface{}。 md5:1389fe7e3914ba43

func X创建AnyStr并从Map

func X创建AnyStr并从Map(map值 map[string]interface{}, 并发安全 ...bool) *StrAnyMap

X创建AnyStr并从Map 从给定的映射 `data` 创建并返回一个哈希映射。 注意,参数 `data` 映射将被设置为底层数据映射(不进行深拷贝),在外部修改映射时可能会存在并发安全问题。 md5:3f15992f776bd362

func X创建StrAny

func X创建StrAny(并发安全 ...bool) *StrAnyMap

X创建StrAny 返回一个空的 StrAnyMap 对象。 参数 `safe` 用于指定是否在并发安全环境下使用该映射,其默认值为 false。 md5:cbe007353b41d97e

func (*StrAnyMap) DeepCopy

func (m *StrAnyMap) DeepCopy() interface{}

DeepCopy实现当前类型的深拷贝接口。 md5:9cfbcb08109f6ce1

func (StrAnyMap) MarshalJSON

func (m StrAnyMap) MarshalJSON() ([]byte, error)

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

func (m *StrAnyMap) String() 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

func (m *StrAnyMap) UnmarshalJSON(b []byte) error

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

func (m *StrAnyMap) UnmarshalValue(value interface{}) (err error)

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出栈

func (m *StrAnyMap) X出栈() (名称 string, value interface{})

X出栈 从映射中获取并删除一个元素。 md5:2d364ca2b6054111

func (*StrAnyMap) X出栈多个

func (m *StrAnyMap) X出栈多个(数量 int) map[string]interface{}

X出栈多个 从映射中检索并删除 `size` 个项目。 如果 size 等于 -1,则返回所有项目。 md5:0f2cdbc0238fdc37

func (*StrAnyMap) X删除

func (m *StrAnyMap) X删除(名称 string) (value interface{})

X删除 通过给定的`key`从map中删除值,并返回被删除的值。 md5:5ee6dc9be17b4ab8

func (*StrAnyMap) X删除多个值

func (m *StrAnyMap) X删除多个值(名称 []string)

通过键删除map中的批删除值。 md5:57081208d84ca7e8

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

func (m *StrAnyMap) X取Map() map[string]interface{}

X取Map 返回底层数据映射。 注意,如果它在并发安全的使用场景中,它将返回底层数据的一个副本, 否则返回指向底层数据的指针。 md5:7f8e0898ab3ddb0f

func (*StrAnyMap) X取MapStrAny

func (m *StrAnyMap) X取MapStrAny() map[string]interface{}

X取MapStrAny将映射的底层数据复制为map[string]interface{}。 md5:46db5a1110397522

func (*StrAnyMap) X取值

func (m *StrAnyMap) X取值(名称 string) (value interface{})

X取值 根据给定的 `key` 获取值。 md5:2b744a3e455aadfb

func (*StrAnyMap) X取值或设置值

func (m *StrAnyMap) X取值或设置值(名称 string, value interface{}) interface{}

X取值或设置值 通过键返回值, 如果该键不存在,则使用给定的`value`设置值,然后返回这个值。 md5:d8f89b6dec47292b

func (*StrAnyMap) X取值或设置值_函数

func (m *StrAnyMap) X取值或设置值_函数(名称 string, f func() interface{}) interface{}

X取值或设置值_函数 通过键获取值, 如果键不存在,则使用回调函数`f`的返回值设置值, 并返回这个设置的值。 md5:f584dd7547dfbcc0

func (*StrAnyMap) X取值或设置值_函数带锁

func (m *StrAnyMap) X取值或设置值_函数带锁(名称 string, f func() interface{}) interface{}

X取值或设置值_函数带锁 通过键获取值, 如果不存在,它将使用回调函数 `f` 的返回值设置该值,然后返回这个值。

X取值或设置值_函数带锁 与 GetOrSetFunc 函数的不同之处在于,它在执行函数 `f` 时会先锁定哈希映射的 mutex。 md5:d32fdee586d84dde

func (*StrAnyMap) X取值或设置值泛型类

func (m *StrAnyMap) X取值或设置值泛型类(名称 string, value interface{}) *gvar.Var

X取值或设置值泛型类 返回一个 Var,其中包含从 X取值或设置值泛型类 获取的结果。 返回的 Var 是非并发安全的。 md5:c3730f368b7f62b5

func (*StrAnyMap) X取值或设置值泛型类_函数

func (m *StrAnyMap) X取值或设置值泛型类_函数(名称 string, f func() interface{}) *gvar.Var

X取值或设置值泛型类_函数 返回一个Var,其结果来自GetOrSetFunc。 返回的Var不具备并发安全性。 md5:7d7674129b73ead1

func (*StrAnyMap) X取值或设置值泛型类_函数带锁

func (m *StrAnyMap) X取值或设置值泛型类_函数带锁(名称 string, f func() interface{}) *gvar.Var

X取值或设置值泛型类_函数带锁 返回一个从 GetOrSetFuncLock 获得结果的 Var。返回的 Var 不是线程安全的。 md5:bdab644d14c89234

func (*StrAnyMap) X取值泛型类

func (m *StrAnyMap) X取值泛型类(名称 string) *gvar.Var

X取值泛型类通过给定的`key`返回一个Var。返回的Var是非并发安全的。 md5:debfb1b2bd13312b

func (*StrAnyMap) X取副本

func (m *StrAnyMap) X取副本() *StrAnyMap

X取副本 返回一个新的哈希映射,其中包含当前映射数据的副本。 md5:b9264f3636ead08a

func (*StrAnyMap) X取所有值

func (m *StrAnyMap) X取所有值() []interface{}

X取所有值 将地图中的所有值返回为一个切片。 md5:a89b5b485c966abd

func (*StrAnyMap) X取所有名称

func (m *StrAnyMap) X取所有名称() []string

X取所有名称 返回映射中所有键的切片。 md5:425640fff4178659

func (*StrAnyMap) X取数量

func (m *StrAnyMap) X取数量() int

X取数量返回映射的大小。 md5:da42fb3955847483

func (*StrAnyMap) X合并

func (m *StrAnyMap) X合并(map值 *StrAnyMap)

X合并 合并两个哈希映射。 `other` 映射将被合并到映射 `m` 中。 md5:a90c0d2b1f1fdaaa

func (*StrAnyMap) X名称值交换

func (m *StrAnyMap) X名称值交换()

X名称值交换 将映射的键值对交换为值键。 md5:dbcb578f1b30fa01

func (*StrAnyMap) X是否为子集

func (m *StrAnyMap) X是否为子集(父集Map *StrAnyMap) bool

X是否为子集 检查当前映射是否是`other`的子映射。 md5:9a6c60859c5a0fbc

func (*StrAnyMap) X是否为空

func (m *StrAnyMap) X是否为空() bool

X是否为空 检查映射是否为空。 如果映射为空,则返回true,否则返回false。 md5:ad4bd5c796f79266

func (*StrAnyMap) X是否存在

func (m *StrAnyMap) X是否存在(名称 string) bool

X是否存在 检查键是否存在。 如果键存在,它返回 true,否则返回 false。 md5:d8fb22313aadd65f

func (*StrAnyMap) X替换

func (m *StrAnyMap) X替换(map值 map[string]interface{})

用给定的 `data` 替换映射的数据。 md5:a84ecf2839212d81

func (*StrAnyMap) X查找

func (m *StrAnyMap) X查找(名称 string) (value interface{}, found bool)

X查找 在给定的`key`下搜索映射。 第二个返回参数`found`如果找到键,则为true,否则为false。 md5:99336de9941a3b02

func (*StrAnyMap) X比较

func (m *StrAnyMap) X比较(map值 *StrAnyMap) (addedKeys, removedKeys, updatedKeys []string)

X比较 函数比较当前地图 `m` 与地图 `other` 并返回它们不同的键。 返回的 `addedKeys` 是存在于地图 `m` 中但不在地图 `other` 中的键。 返回的 `removedKeys` 是存在于地图 `other` 中但不在地图 `m` 中的键。 返回的 `updatedKeys` 是同时存在于地图 `m` 和 `other` 中,但其值不相等(`!=`)的键。 md5:d3bf0bf8c70e9093

func (*StrAnyMap) X浅拷贝

func (m *StrAnyMap) X浅拷贝() map[string]interface{}

X浅拷贝 返回哈希映射底层数据的一个副本。 md5:46f762167d5821b1

func (*StrAnyMap) X清空

func (m *StrAnyMap) X清空()

X清空 删除映射中的所有数据,它将重新创建一个新的底层数据映射。 md5:0553a5cd54a22f3c

func (*StrAnyMap) X设置值

func (m *StrAnyMap) X设置值(key string, val interface{})

X设置值 将键值对设置到哈希映射中。 md5:07ea2dd1ea28820a

func (*StrAnyMap) X设置值Map

func (m *StrAnyMap) X设置值Map(map值 map[string]interface{})

将键值对设置到哈希映射中。 md5:e3f3f8a1b69eb832

func (*StrAnyMap) X设置值并跳过已存在

func (m *StrAnyMap) X设置值并跳过已存在(名称 string, value interface{}) bool

X设置值并跳过已存在 如果键`key`不存在,则将`value`设置到映射中,并返回true。如果键`key`已存在,且`value`将被忽略,函数返回false。 md5:f80895920828f03e

func (*StrAnyMap) X设置值并跳过已存在_函数

func (m *StrAnyMap) X设置值并跳过已存在_函数(名称 string, f func() interface{}) bool

X设置值并跳过已存在_函数 使用回调函数`f`的返回值设置值,并返回true。 如果`key`已存在,则返回false,且`value`会被忽略。 md5:326c0b7c63d813e7

func (*StrAnyMap) X设置值并跳过已存在_函数带锁

func (m *StrAnyMap) X设置值并跳过已存在_函数带锁(名称 string, f func() interface{}) bool

X设置值并跳过已存在_函数带锁 使用回调函数 `f` 的返回值设置值,然后返回 true。 如果 `key` 已存在,则返回 false,`value` 将被忽略。

X设置值并跳过已存在_函数带锁 与 SetIfNotExistFunc 函数的区别在于, 它在哈希映射的 mutex.Lock 保护下执行函数 `f`。 md5:a6ee84b157328f61

func (*StrAnyMap) X遍历

func (m *StrAnyMap) X遍历(f func(k string, v interface{}) bool)

X遍历 使用自定义回调函数 `f` 读取只读哈希映射。如果 `f` 返回 true,则继续迭代;否则停止。 md5:52d024b320a69c3b

func (*StrAnyMap) X遍历写锁定

func (m *StrAnyMap) X遍历写锁定(回调函数 func(m map[string]interface{}))

X遍历写锁定 使用给定的回调函数 `f` 在 RWMutex.Lock 中锁定写操作。 md5:e73dbc0381ebb3dc

func (*StrAnyMap) X遍历读锁定

func (m *StrAnyMap) X遍历读锁定(回调函数 func(m map[string]interface{}))

X遍历读锁定 在 RWMutex.RLock 的范围内使用给定的回调函数 `f` 进行读取锁定。 md5:4ae51d9b7445f043

type StrIntMap

type StrIntMap struct {
	// contains filtered or unexported fields
}

StrIntMap 实现了具有开关的字符串到整数的 RWMutex 映射。 md5:9126e7c711d57c87

func X创建StrInt

func X创建StrInt(并发安全 ...bool) *StrIntMap

X创建StrInt 返回一个空的 StrIntMap 对象。 参数 `safe` 用于指定是否使用并发安全的 map,默认为 false。 md5:040c01e687e6526f

func X创建StrInt并从Map

func X创建StrInt并从Map(map值 map[string]int, 并发安全 ...bool) *StrIntMap

X创建StrInt并从Map 根据给定的映射 `data` 创建并返回一个新的哈希映射。 请注意,参数 `data` 映射将被设置为底层数据映射(无深拷贝), 当在外部修改该映射时,可能存在一些并发安全问题。 md5:def2dd5f3c6bbd06

func (*StrIntMap) DeepCopy

func (m *StrIntMap) DeepCopy() interface{}

DeepCopy实现当前类型的深拷贝接口。 md5:9cfbcb08109f6ce1

func (StrIntMap) MarshalJSON

func (m StrIntMap) MarshalJSON() ([]byte, error)

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

func (m *StrIntMap) String() 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

func (m *StrIntMap) UnmarshalJSON(b []byte) error

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

func (m *StrIntMap) UnmarshalValue(value interface{}) (err error)

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出栈() (名称 string, value int)

X出栈 从映射中获取并删除一个元素。 md5:2d364ca2b6054111

func (*StrIntMap) X出栈多个

func (m *StrIntMap) X出栈多个(数量 int) map[string]int

X出栈多个 从映射中检索并删除 `size` 个项目。 如果 size 等于 -1,则返回所有项目。 md5:0f2cdbc0238fdc37

func (*StrIntMap) X删除

func (m *StrIntMap) X删除(名称 string) (被删除值 int)

X删除 通过给定的`key`从map中删除值,并返回被删除的值。 md5:5ee6dc9be17b4ab8

func (*StrIntMap) X删除多个值

func (m *StrIntMap) X删除多个值(名称 []string)

通过键删除map中的批删除值。 md5:57081208d84ca7e8

func (*StrIntMap) X删除所有空值

func (m *StrIntMap) X删除所有空值()

X删除所有空值 删除所有值为空的键值对。空值包括:0、nil、false、"",以及切片、映射(map)或通道(channel)的长度为0的情况。 md5:6cdcc470e2c0cab1

func (*StrIntMap) X取Map

func (m *StrIntMap) X取Map() map[string]int

X取Map 返回底层数据映射。 注意,如果它在并发安全的使用场景中,它将返回底层数据的一个副本, 否则返回指向底层数据的指针。 md5:7f8e0898ab3ddb0f

func (*StrIntMap) X取MapStrAny

func (m *StrIntMap) X取MapStrAny() map[string]interface{}

X取MapStrAny将映射的底层数据复制为map[string]interface{}。 md5:46db5a1110397522

func (*StrIntMap) X取值

func (m *StrIntMap) X取值(名称 string) (value int)

X取值 根据给定的 `key` 获取值。 md5:2b744a3e455aadfb

func (*StrIntMap) X取值或设置值

func (m *StrIntMap) X取值或设置值(名称 string, 值 int) int

X取值或设置值 通过键返回值, 如果该键不存在,则使用给定的`value`设置值,然后返回这个值。 md5:d8f89b6dec47292b

func (*StrIntMap) X取值或设置值_函数

func (m *StrIntMap) X取值或设置值_函数(名称 string, f func() int) int

X取值或设置值_函数 通过键获取值, 如果键不存在,则使用回调函数`f`的返回值设置值, 并返回这个设置的值。 md5:f584dd7547dfbcc0

func (*StrIntMap) X取值或设置值_函数带锁

func (m *StrIntMap) X取值或设置值_函数带锁(名称 string, f func() int) int

X取值或设置值_函数带锁 通过键获取值, 如果不存在,它将使用回调函数 `f` 的返回值设置该值,然后返回这个值。

X取值或设置值_函数带锁 与 GetOrSetFunc 函数的不同之处在于,它在执行函数 `f` 时会先锁定哈希映射的 mutex。 md5:d32fdee586d84dde

func (*StrIntMap) X取副本

func (m *StrIntMap) X取副本() *StrIntMap

X取副本 返回一个新的哈希映射,其中包含当前映射数据的副本。 md5:b9264f3636ead08a

func (*StrIntMap) X取所有值

func (m *StrIntMap) X取所有值() []int

X取所有值 将地图中的所有值返回为一个切片。 md5:a89b5b485c966abd

func (*StrIntMap) X取所有名称

func (m *StrIntMap) X取所有名称() []string

X取所有名称 返回映射中所有键的切片。 md5:425640fff4178659

func (*StrIntMap) X取数量

func (m *StrIntMap) X取数量() int

X取数量返回映射的大小。 md5:da42fb3955847483

func (*StrIntMap) X合并

func (m *StrIntMap) X合并(map值 *StrIntMap)

X合并 合并两个哈希映射。 `other` 映射将被合并到映射 `m` 中。 md5:a90c0d2b1f1fdaaa

func (*StrIntMap) X名称值交换

func (m *StrIntMap) X名称值交换()

X名称值交换 将映射的键值对交换为值键。 md5:dbcb578f1b30fa01

func (*StrIntMap) X是否为子集

func (m *StrIntMap) X是否为子集(父集Map *StrIntMap) bool

X是否为子集 检查当前映射是否是`other`的子映射。 md5:9a6c60859c5a0fbc

func (*StrIntMap) X是否为空

func (m *StrIntMap) X是否为空() bool

X是否为空 检查映射是否为空。 如果映射为空,则返回true,否则返回false。 md5:ad4bd5c796f79266

func (*StrIntMap) X是否存在

func (m *StrIntMap) X是否存在(名称 string) bool

X是否存在 检查键是否存在。 如果键存在,它返回 true,否则返回 false。 md5:d8fb22313aadd65f

func (*StrIntMap) X替换

func (m *StrIntMap) X替换(map值 map[string]int)

用给定的 `data` 替换映射的数据。 md5:a84ecf2839212d81

func (*StrIntMap) X查找

func (m *StrIntMap) X查找(名称 string) (值 int, 成功 bool)

X查找 在给定的`key`下搜索映射。 第二个返回参数`found`如果找到键,则为true,否则为false。 md5:99336de9941a3b02

func (*StrIntMap) X比较

func (m *StrIntMap) X比较(map值 *StrIntMap) (增加的名称, 删除的名称, 更新数据的名称 []string)

X比较 函数比较当前地图 `m` 与地图 `other` 并返回它们不同的键。 返回的 `addedKeys` 是存在于地图 `m` 中但不在地图 `other` 中的键。 返回的 `removedKeys` 是存在于地图 `other` 中但不在地图 `m` 中的键。 返回的 `updatedKeys` 是同时存在于地图 `m` 和 `other` 中,但其值不相等(`!=`)的键。 md5:d3bf0bf8c70e9093

func (*StrIntMap) X浅拷贝

func (m *StrIntMap) X浅拷贝() map[string]int

X浅拷贝 返回哈希映射底层数据的一个副本。 md5:46f762167d5821b1

func (*StrIntMap) X清空

func (m *StrIntMap) X清空()

X清空 删除映射中的所有数据,它将重新创建一个新的底层数据映射。 md5:0553a5cd54a22f3c

func (*StrIntMap) X设置值

func (m *StrIntMap) X设置值(key string, val int)

X设置值 将键值对设置到哈希映射中。 md5:07ea2dd1ea28820a

func (*StrIntMap) X设置值Map

func (m *StrIntMap) X设置值Map(map值 map[string]int)

将键值对设置到哈希映射中。 md5:e3f3f8a1b69eb832

func (*StrIntMap) X设置值并跳过已存在

func (m *StrIntMap) X设置值并跳过已存在(名称 string, 值 int) bool

X设置值并跳过已存在 如果键`key`不存在,则将`value`设置到映射中,并返回true。如果键`key`已存在,且`value`将被忽略,函数返回false。 md5:f80895920828f03e

func (*StrIntMap) X设置值并跳过已存在_函数

func (m *StrIntMap) X设置值并跳过已存在_函数(名称 string, f func() int) bool

X设置值并跳过已存在_函数 使用回调函数`f`的返回值设置值,并返回true。 如果`key`已存在,则返回false,且`value`会被忽略。 md5:326c0b7c63d813e7

func (*StrIntMap) X设置值并跳过已存在_函数带锁

func (m *StrIntMap) X设置值并跳过已存在_函数带锁(名称 string, f func() int) bool

X设置值并跳过已存在_函数带锁 使用回调函数 `f` 的返回值设置值,然后返回 true。 如果 `key` 已存在,则返回 false,`value` 将被忽略。

X设置值并跳过已存在_函数带锁 与 SetIfNotExistFunc 函数的区别在于, 它在哈希映射的 mutex.Lock 保护下执行函数 `f`。 md5:a6ee84b157328f61

func (*StrIntMap) X遍历

func (m *StrIntMap) X遍历(f func(k string, v int) bool)

X遍历 使用自定义回调函数 `f` 读取只读哈希映射。如果 `f` 返回 true,则继续迭代;否则停止。 md5:52d024b320a69c3b

func (*StrIntMap) X遍历写锁定

func (m *StrIntMap) X遍历写锁定(回调函数 func(m map[string]int))

X遍历写锁定 使用给定的回调函数 `f` 在 RWMutex.Lock 中锁定写操作。 md5:e73dbc0381ebb3dc

func (*StrIntMap) X遍历读锁定

func (m *StrIntMap) X遍历读锁定(回调函数 func(m map[string]int))

X遍历读锁定 在 RWMutex.RLock 的范围内使用给定的回调函数 `f` 进行读取锁定。 md5:4ae51d9b7445f043

type StrStrMap

type StrStrMap struct {
	// contains filtered or unexported fields
}

StrStrMap实现了具有开关的RWMutex映射[string]string。 md5:39383b0c43f8a057

func X创建StrStr

func X创建StrStr(并发安全 ...bool) *StrStrMap

X创建StrStr 返回一个空的 StrStrMap 对象。 参数 `safe` 用于指定是否在并发安全模式下使用映射, 默认为 false。 md5:305a371834d43bdd

func X创建StrStr并从Map

func X创建StrStr并从Map(map值 map[string]string, 并发安全 ...bool) *StrStrMap

X创建StrStr并从Map 根据给定的映射 `data` 创建并返回一个哈希映射。 注意,参数 `data` 映射将被设置为底层数据映射(非深度复制), 因此,在外部修改该映射时可能会存在并发安全问题。 md5:00f0f09e1bc308ad

func (*StrStrMap) DeepCopy

func (m *StrStrMap) DeepCopy() interface{}

DeepCopy实现当前类型的深拷贝接口。 md5:9cfbcb08109f6ce1

func (StrStrMap) MarshalJSON

func (m StrStrMap) MarshalJSON() ([]byte, error)

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

func (m *StrStrMap) String() 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

func (m *StrStrMap) UnmarshalJSON(b []byte) error

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

func (m *StrStrMap) UnmarshalValue(value interface{}) (err error)

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出栈() (名称, 值 string)

X出栈 从映射中获取并删除一个元素。 md5:2d364ca2b6054111

func (*StrStrMap) X出栈多个

func (m *StrStrMap) X出栈多个(数量 int) map[string]string

X出栈多个 从映射中检索并删除 `size` 个项目。 如果 size 等于 -1,则返回所有项目。 md5:0f2cdbc0238fdc37

func (*StrStrMap) X删除

func (m *StrStrMap) X删除(名称 string) (被删除值 string)

X删除 通过给定的`key`从map中删除值,并返回被删除的值。 md5:5ee6dc9be17b4ab8

func (*StrStrMap) X删除多个值

func (m *StrStrMap) X删除多个值(名称 []string)

通过键删除map中的批删除值。 md5:57081208d84ca7e8

func (*StrStrMap) X删除所有空值

func (m *StrStrMap) X删除所有空值()

X删除所有空值 删除所有值为空的键值对。空值包括:0、nil、false、"",以及切片、映射(map)或通道(channel)的长度为0的情况。 md5:6cdcc470e2c0cab1

func (*StrStrMap) X取Map

func (m *StrStrMap) X取Map() map[string]string

X取Map 返回底层数据映射。 注意,如果它在并发安全的使用场景中,它将返回底层数据的一个副本, 否则返回指向底层数据的指针。 md5:7f8e0898ab3ddb0f

func (*StrStrMap) X取MapStrAny

func (m *StrStrMap) X取MapStrAny() map[string]interface{}

X取MapStrAny将映射的底层数据复制为map[string]interface{}。 md5:46db5a1110397522

func (*StrStrMap) X取值

func (m *StrStrMap) X取值(名称 string) (值 string)

X取值 根据给定的 `key` 获取值。 md5:2b744a3e455aadfb

func (*StrStrMap) X取值或设置值

func (m *StrStrMap) X取值或设置值(名称 string, 值 string) string

X取值或设置值 通过键返回值, 如果该键不存在,则使用给定的`value`设置值,然后返回这个值。 md5:d8f89b6dec47292b

func (*StrStrMap) X取值或设置值_函数

func (m *StrStrMap) X取值或设置值_函数(名称 string, f func() string) string

X取值或设置值_函数 通过键获取值, 如果键不存在,则使用回调函数`f`的返回值设置值, 并返回这个设置的值。 md5:f584dd7547dfbcc0

func (*StrStrMap) X取值或设置值_函数带锁

func (m *StrStrMap) X取值或设置值_函数带锁(名称 string, f func() string) string

X取值或设置值_函数带锁 通过键获取值, 如果不存在,它将使用回调函数 `f` 的返回值设置该值,然后返回这个值。

X取值或设置值_函数带锁 与 GetOrSetFunc 函数的不同之处在于,它在执行函数 `f` 时会先锁定哈希映射的 mutex。 md5:d32fdee586d84dde

func (*StrStrMap) X取副本

func (m *StrStrMap) X取副本() *StrStrMap

X取副本 返回一个新的哈希映射,其中包含当前映射数据的副本。 md5:b9264f3636ead08a

func (*StrStrMap) X取所有值

func (m *StrStrMap) X取所有值() []string

X取所有值 将地图中的所有值返回为一个切片。 md5:a89b5b485c966abd

func (*StrStrMap) X取所有名称

func (m *StrStrMap) X取所有名称() []string

X取所有名称 返回映射中所有键的切片。 md5:425640fff4178659

func (*StrStrMap) X取数量

func (m *StrStrMap) X取数量() int

X取数量返回映射的大小。 md5:da42fb3955847483

func (*StrStrMap) X合并

func (m *StrStrMap) X合并(map值 *StrStrMap)

X合并 合并两个哈希映射。 `other` 映射将被合并到映射 `m` 中。 md5:a90c0d2b1f1fdaaa

func (*StrStrMap) X名称值交换

func (m *StrStrMap) X名称值交换()

X名称值交换 将映射的键值对交换为值键。 md5:dbcb578f1b30fa01

func (*StrStrMap) X是否为子集

func (m *StrStrMap) X是否为子集(父集Map *StrStrMap) bool

X是否为子集 检查当前映射是否是`other`的子映射。 md5:9a6c60859c5a0fbc

func (*StrStrMap) X是否为空

func (m *StrStrMap) X是否为空() bool

X是否为空 检查映射是否为空。 如果映射为空,则返回true,否则返回false。 md5:ad4bd5c796f79266

func (*StrStrMap) X是否存在

func (m *StrStrMap) X是否存在(名称 string) bool

X是否存在 检查键是否存在。 如果键存在,它返回 true,否则返回 false。 md5:d8fb22313aadd65f

func (*StrStrMap) X替换

func (m *StrStrMap) X替换(map值 map[string]string)

用给定的 `data` 替换映射的数据。 md5:a84ecf2839212d81

func (*StrStrMap) X查找

func (m *StrStrMap) X查找(名称 string) (值 string, 成功 bool)

X查找 在给定的`key`下搜索映射。 第二个返回参数`found`如果找到键,则为true,否则为false。 md5:99336de9941a3b02

func (*StrStrMap) X比较

func (m *StrStrMap) X比较(map值 *StrStrMap) (增加的名称, 删除的名称, 更新数据的名称 []string)

X比较 函数比较当前地图 `m` 与地图 `other` 并返回它们不同的键。 返回的 `addedKeys` 是存在于地图 `m` 中但不在地图 `other` 中的键。 返回的 `removedKeys` 是存在于地图 `other` 中但不在地图 `m` 中的键。 返回的 `updatedKeys` 是同时存在于地图 `m` 和 `other` 中,但其值不相等(`!=`)的键。 md5:d3bf0bf8c70e9093

func (*StrStrMap) X浅拷贝

func (m *StrStrMap) X浅拷贝() map[string]string

X浅拷贝 返回哈希映射底层数据的一个副本。 md5:46f762167d5821b1

func (*StrStrMap) X清空

func (m *StrStrMap) X清空()

X清空 删除映射中的所有数据,它将重新创建一个新的底层数据映射。 md5:0553a5cd54a22f3c

func (*StrStrMap) X设置值

func (m *StrStrMap) X设置值(key string, val string)

X设置值 将键值对设置到哈希映射中。 md5:07ea2dd1ea28820a

func (*StrStrMap) X设置值Map

func (m *StrStrMap) X设置值Map(map值 map[string]string)

将键值对设置到哈希映射中。 md5:e3f3f8a1b69eb832

func (*StrStrMap) X设置值并跳过已存在

func (m *StrStrMap) X设置值并跳过已存在(名称 string, 值 string) bool

X设置值并跳过已存在 如果键`key`不存在,则将`value`设置到映射中,并返回true。如果键`key`已存在,且`value`将被忽略,函数返回false。 md5:f80895920828f03e

func (*StrStrMap) X设置值并跳过已存在_函数

func (m *StrStrMap) X设置值并跳过已存在_函数(名称 string, f func() string) bool

X设置值并跳过已存在_函数 使用回调函数`f`的返回值设置值,并返回true。 如果`key`已存在,则返回false,且`value`会被忽略。 md5:326c0b7c63d813e7

func (*StrStrMap) X设置值并跳过已存在_函数带锁

func (m *StrStrMap) X设置值并跳过已存在_函数带锁(名称 string, f func() string) bool

X设置值并跳过已存在_函数带锁 使用回调函数 `f` 的返回值设置值,然后返回 true。 如果 `key` 已存在,则返回 false,`value` 将被忽略。

X设置值并跳过已存在_函数带锁 与 SetIfNotExistFunc 函数的区别在于, 它在哈希映射的 mutex.Lock 保护下执行函数 `f`。 md5:a6ee84b157328f61

func (*StrStrMap) X遍历

func (m *StrStrMap) X遍历(f func(k string, v string) bool)

X遍历 使用自定义回调函数 `f` 读取只读哈希映射。如果 `f` 返回 true,则继续迭代;否则停止。 md5:52d024b320a69c3b

func (*StrStrMap) X遍历写锁定

func (m *StrStrMap) X遍历写锁定(回调函数 func(m map[string]string))

X遍历写锁定 使用给定的回调函数 `f` 在 RWMutex.Lock 中锁定写操作。 md5:e73dbc0381ebb3dc

func (*StrStrMap) X遍历读锁定

func (m *StrStrMap) X遍历读锁定(回调函数 func(m map[string]string))

X遍历读锁定 在 RWMutex.RLock 的范围内使用给定的回调函数 `f` 进行读取锁定。 md5:4ae51d9b7445f043

type TreeMap

type TreeMap = gtree.RedBlackTree

基于红黑树的TreeMap,是RedBlackTree的别名。 md5:9f16a90eb8bdf4c1

func X创建红黑树Map

func X创建红黑树Map(回调函数 func(v1, v2 interface{}) int, 并发安全 ...bool) *TreeMap

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

Jump to

Keyboard shortcuts

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