GO语言基础语法-map | 青训营笔记

128 阅读2分钟

今天我们继续来学习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语言,熟能生巧

本文章只用做学习笔记用途,有写的不好的地方多多包涵!!!