• go 学习之map


    Map 声明是不会分配内存的,初始化需要make,分配内存后才能赋值和是使用。无序排列。

    三种创建方法:

            //第一种
    	var person map[string]string
    	person = make(map[string]string, 3)
    
    	person["name"] = "caoxt"
    	person["hobby"] = "football"
    	person["play"] = "pc"
    
    	fmt.Println(person["name"])
    
            //第二种
    	person2 := make(map[string]string, 3)
    	person2["name"] = "小明"
    	person2["hobby"] = "足球"
    	person2["paly"] = "电脑"
    	fmt.Println(person2["hobby"])
    
    	//第三种
    	var person3 map[string]string = map[string]string{
    		"name": "小明3",
            	"hobby": "足球3",
            	"paly": "电脑3",
    	}
    	fmt.Println(person3["name"])
    
    	//第三种简写
    	person4 := map[string]string{
    		"name": "大明",
    		"hobby": "足球4",
    		"play": "电脑4",
    	}
    	fmt.Println(person4)
        
    

     //map的值仍未map结构

            classmate := make(map[string]map[string]string, 3)
            classmate["num1"] = make(map[string]string, 3)
            classmate["num1"]["name"] = "tom1"
            classmate["num1"]["sex"] = "male"
    
    
            classmate["num2"] = make(map[string]string, 3)
            classmate["num2"]["name"] = "tom2"
            classmate["num2"]["sex"] = "male2"
    
    
            classmate["num3"] = make(map[string]string, 3)
            classmate["num3"]["name"] = "tom3"
            classmate["num3"]["sex"] = "male3"
    
            fmt.Println(classmate["num3"]["name"])
    

      动态添加map切片

            var classmate []map[string]string
            classmate = make([]map[string]string,2)
            classmate[0] = make(map[string]string, 2)
            classmate[0]["name"] = "tom"
            classmate[0]["age"] = "10"
    
            classmate[1] = make(map[string]string, 2)
            classmate[1]["name"] = "tom2"
            classmate[1]["age"] = "20"
    
            //newclassmate := map[string]string
            //newclassmate = make(map[string]string,2)
            newclassmate := map[string]string{
                    "name": "tom3",
                    "age": "30",
            }
            classmate = append(classmate, newclassmate)
    
            fmt.Println(classmate[2]["name"])
    

      

      

  • 相关阅读:
    python 自动化之路 day 10 协程、异步IO、队列、缓存
    MySQ binlog三种模式
    文件存储之-内存文件系统tmpfs
    Linux 系统结构详解
    服务端高性能数据库优化演变细节案例
    滴滴研发笔记题,亮灯问题
    linux screen 命令详解
    Linux之在CentOS上一次艰难的木马查杀过程
    python 自动化之路 day 09 进程、线程、协程篇
    redis
  • 原文地址:https://www.cnblogs.com/Caoxt/p/14115661.html
Copyright © 2020-2023  润新知