美文网首页
Go语言-Map

Go语言-Map

作者: 小孩真笨 | 来源:发表于2018-10-13 22:14 被阅读0次

    Map 是高级语言中一种重要的数据结构,能够很方便的进行数据组织,主要都是<k,v>结构。除了slice,map,function的内建类型都可以作为key进行使用。因此,struct类型在不包含上述字段的时候,也可以作为key进行使用。

    其在go语言中的定义格式如下所示:

    1 Map的定义

    Go语言中,可以通过自己手工使用基础语法进行map定义,也可以使用内置的make方法进行定义。

    1.1 基础定义方式

    Go语言中,定义map的基本语法格式是:map[k类型] v类型 {k值,v值}一个典型的Map定义实例如下:

    package main
    
    import "fmt"
    
    func main() {
        m := map[string]string {
            "name":"ccmouse",
            "course":"golang",
            "site":"imooc",
            "quality":"notbad",
        }
    
        fmt.Printf("Map value is %v", m)
    }
    

    这个map的k值类型是string,v值的类型也是string

    1.2 使用内置make方法
    m := make(map[string]int)  //k为string类型,v为int类型
    var m2 map[string]int   // 基础声明方法
    

    2 Map的使用

    map的使用查询用法和常见的其他语言差不多。通过m[key]的形式进行获取对应的value值。如果key不存在,则获取到的是一个空行。

    Go语言中不存在null这种空内存的情况,即使没有赋值,使用变量时候也不会报空指针的错误。而是一个zero值,常见的就是nil。

    2.1 删除一个Map元素

    Map中的删除操作还是有点意思的,使用的是内建的delete方法。操作形式如下:

    delete(m,"name")  //m为map的变量名, name为key值。
    
    2.2 Map的遍历

    遍历元素是对map使用的一种形式,在Go语言中,同样使用range进行遍历最为方便。同样,你也可以选择使用传统的key,value对的形式。

    由于map是一种无序的数据结构,所以遍历出来的数据元素也是无序的。

    相关文章

      网友评论

          本文标题:Go语言-Map

          本文链接:https://www.haomeiwen.com/subject/pkdaaftx.html