今天我们继续来学习Go的基本语法,今天主要学习的是map这个数据结构。
一.map的定义
map是一种无序的基于key-value的数据结构,Go语言中的map是引用类型,必须初始化才能使用。
make(map[KeyType]ValueType, [cap])
KeyType表示键的类型。ValueType表示键对应的值类型。cap表示map的容量,该参数虽然不是必须的,但是我们应该在初始化map的时候就为其指定一个合适的容量。
简单例子:
testMap := make(map[string]int, 10)
testMap["aaa"] = 90
testMap["bbb"] = 100
二.判断某个键是否存在
Go语言中有个判断map中键是否存在的特殊写法,如下所示:
value, ok := map[key]
其实就是返回一个ok的bool值,如果为true就证明存在这个值。
三.map的遍历
与数组的遍历类似,map的遍历可以使用for...range的方式进行遍历。
testMap := make(map[string]int)
testMap["aaa"] = 90
testMap["bbb"] = 100
testMap["ccc"] = 60
for i := range testMap {
fmt.Println(i)
}
有一点是需要我们注意的,遍历map时的元素顺序与添加键值对的顺序无关。
四.删除map中的值
使用delete()内建函数从map中删除一组键值对,delete()函数的格式如下:
testMap := make(map[string]int)
testMap["aaa"] = 10
testMap["bbb"] = 20
testMap["ccc"] = 30
delete(testMap, "aaa") // 删除
for k,v := range testMap{
fmt.Println(k, v)
}
总结:今天我们简单学习了go语言中的map数据结构,其实与Java中的HashMap是一样的,一开始写的时候不习惯,还是不熟悉语法的问题,大家可以多多练习一下go语言,熟能生巧
本文章只用做学习笔记用途,有写的不好的地方多多包涵!!!