本网站可以通过分类标签帮助你快速筛选出你想看的文章,记住地址:www.Facec.cc

Golang Map详解

map初始化

//方法一: make函数
//map[key]value
var userinfo = make(map[string]string)
userinfo["name"] = "张三"//更新数据
userinfo["age"] = "20"
fmt.Println(userinfo)

//方法二: 直接声明
var userinfo = map[string]string{
	"name":"张三",
	"age":"20"
}
userinfo := map[string]string{}

map的循环遍历

for k,v :=range userinfo{
	fmt.Printf("key:%v,value:%v",k,v);
}

map元素是否存在

if v, ok := m1["a"]; ok {
     fmt.Println(v)
 } else {
     fmt.Println("Key Not Found")
 }

map数据的查找和删除

//获取查找数据
value, ok := userinfo["age"] //20,true
value, ok := userinfo["xxx"] //空,false

//删除数据 delete(map对象,key)
delete(userinfo,"age")

在切片中放一系列用户信息

//创建
userinfo := make([]map[string]string,3,3)

// ☆ map[] 的初始值,默认值为nil
fmt.Println(userinfo[0]) //map[]

//添加数据
if userinfo[0] == nil{
	userinfo[0] = make(map[string]string)
	userinfo[0]["name"] = "王五"
	userinfo[0]["age"] = "18"
}
if userinfo[1] == nil{
	userinfo[0] = make(map[string]string)
	userinfo[0]["name"] = "小六"
	userinfo[0]["age"] = "35"
}

//循环遍历所有用户
for _,v := range userinfo{
	for key,value := range v{
		fmt.Println(key,value)
	}
}

map类型的值为切片

userinfo :=make(map[string][]string)
userinfo["hobby"] = []string{
	"吃饭",
	"睡觉",
	"敲代码",
}

map为引用类型

map排序

map1 := map[int]int{
	10:100,
	1:13,
	4:56,
	8:90,
	2:13,
	11:100
}

image.png

# golang  

评论