go语言之map

Posted bainianminguo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了go语言之map相关的知识,希望对你有一定的参考价值。

go语言的map就相当于python的dict

1、map的初始化

	//创建map
	//k的类型是int,v的类型是string
	var test25_1 map[int]string

	fmt.Println(test25_1)
	//map[]

	fmt.Println(test25_1 == nil)
	//true



	test25_2 := map[int]string{}

	test25_3 := make(map[int]string)

	fmt.Println(test25_2)
	//map[]
	fmt.Println(test25_3)
	//map[]

	//初始化一个有容量的map
	test25_4 := make(map[int]string,10)

	fmt.Println(test25_4)
	//map[]

	
	//初始化map

  

2、map的初始化

	//定义的同时初始化
	var test25_5 map[int] string = map[int]string{1:"test1",2:"test2"}

	fmt.Println(test25_5)
	//map[1:test1 2:test2]


	//自动推倒类型

	var test25_6 = map[int]string{3:"test3",4:"test4"}
	fmt.Println(test25_6)
	//map[3:test3 4:test4]

  

3、map的键值操作,增和改

	//键值操作

	//修改
	test25_6[3] = "test333"
	fmt.Println(test25_6)
	//map[3:test333 4:test4]

	//增加
	test25_6[5] = "test5"
	fmt.Println(test25_6)
	//map[3:test333 4:test4 5:test5]

  

4、map的遍历操作

	//map的遍历操作
	for k,v := range test25_6{
		fmt.Printf("k值为%d,v值为%s\n",k,v)
	}

	//k值为5,v值为test5
	//k值为3,v值为test333
	//k值为4,v值为test


	for k:= range test25_6{
		fmt.Printf("k值为%d,v值为%s\n",k,test25_6[k])
	}

	//k值为3,v值为test333
	//k值为4,v值为test4
	//k值为5,v值为test5

  

5、判断map是否存在某个k

	//判断某个k对应的v是否存在

	//value为k对应的值,ok为是否存在
	value,ok := test25_6[3]

	fmt.Println(value,ok)
	//test333 true
	value1,ok1 := test25_6[7]

	fmt.Println(value1,ok1)
	//false

  

6、删除map中的某个k

	fmt.Println(test25_6)
	//map[3:test333 4:test4 5:test5]
	delete(test25_6,3)
	fmt.Println(test25_6)
	//map[4:test4 5:test5]

  

 

以上是关于go语言之map的主要内容,如果未能解决你的问题,请参考以下文章

Go语言基础之map

go语言之map

Go语言之Map

深度解密Go语言之 map

深度解密 Go 语言之 sync.map

Go语言之map练习