zoukankan      html  css  js  c++  java
  • go语言基础之map介绍和使用

    1、map介绍

    Go语言中的map(映射、字典)是一种内置的数据结构,它是一个无序的key—value对的集合,比如以身份证号作为唯一键来标识一个人的信息。

    2、map示例

     

    map格式为:

        map[keyType]valueType
    

    在一个map里所有的键都是唯一的,而且必须是支持==和!=操作符的类型,切片、函数以及包含切片的结构类型这些类型由于具有引用语义,不能作为映射的键,使用这些类型会造成编译错误:

        dict := map[ []string ]int{} //err, invalid map key type []string
    

    map值可以是任意类型,没有限制。map里所有键的数据类型必须是相同的,值也必须如何,但键和值的数据类型可以不相同。

     注意:map是无序的,我们无法决定它的返回顺序,所以,每次打印结果的顺利有可能不同。

    3、map的使用

    示例2:

    package main //必须有个main包
    
    import "fmt"
    
    func main() {
    	//定义一个变量, 类型为map[int]string
    	var m1 map[int]string
    	fmt.Println("m1 = ", m1)
    	//对于map只有len,没有cap
    	fmt.Println("len = ", len(m1))
    
    	//可以通过make创建
    	m2 := make(map[int]string)
    	fmt.Println("m2 = ", m2)
    	fmt.Println("len = ", len(m2))
    
    	//可以通过make创建,可以指定长度,只是指定了容量,但是里面却是一个数据也没有
    	m3 := make(map[int]string, 2) //指定容量为2(0 1 2),会自动扩冲
    	m3[1] = "mike"                //元素的操作
    	m3[2] = "go"
    	m3[3] = "c++"
    
    	fmt.Println("m3 = ", m3)
    	fmt.Println("len = ", len(m3))
    
        //常用方法,推荐使用
    	//初始化
    	//键值是唯一的
    	m4 := map[int]string{1: "mike", 2: "go", 3: "c++"}
    	fmt.Println("m4 = ", m4)
    
    }

    执行结果:

    m1 =  map[]
    
    len =  0
    
    m2 =  map[]
    
    len =  0
    
    m3 =  map[1:mike 2:go 3:c++ 4:python]
    
    len =  4

    //常用方法,推荐使用
    m4 = map[1:mike 2:go 3:c++]

      

  • 相关阅读:
    Qt QSS美化 基础知识
    Qt QSS教程 QComboBox
    Qt QSS教程 QSpinBox
    Qt QSS教程 QLineEdit
    Qt QSlider qss(round handle) 圆形滑块
    Qt QSS之QSlider滑动条美化
    Qt Creator中使用qss对界面美化没有作用(效果)的问题
    Qt Creator 设置Qss文件文本高亮
    tensorrt中builder.max_workspace_size的作用
    C++宏的一些较复杂的用法,反斜杠,do {}while(0)
  • 原文地址:https://www.cnblogs.com/nulige/p/10245036.html
Copyright © 2011-2022 走看看