• GO map


    package main
    
    import "fmt"
    
    /*
    	map 是引用类型
    	var name = map[keyType]valueType
    	map的key的类型:
    		可以是多种类型,比如 bool,数组,string,指针,channel(管道) 大部分都是int活着string类型
    	使用说明:
    		1.使用前要make
    		2.key重复后者会覆盖前者
    
    */
    //map切片  切片的数据类型是map就称为是map切片 ,则map的个数就可以动态变化了
    func mapSlice() {
    	//声明map切片
    	monster := make([]map[string]string, 1)
    	monster[0] = make(map[string]string)
    	monster[0]["2"] = "2"
    	monster[0]["24"] = "24"
    	monster[0]["1"] = "1"
    	//声明一个新map
    	newMap := map[string]string{"1": "1"}
    	//将map添加到切片中
    	monster = append(monster, newMap)
    	fmt.Println("map切片是:", monster)
    }
    func main() {
    	//map声明,这个时候是没有分配数据空间的
    	var a map[string]string
    	//在使用前要先分用make来分配数据空间
    	a = make(map[string]string, 10)
    	a["name"] = "宋江" //如果key重复后者会覆盖前者
    	fmt.Println(a)
    	mapUse()
    	exercise()
    	mapSlice()
    }
    
    //map的声明方式
    func mapUse() {
    	//方式一
    	var a map[string]string
    	//在使用前要先分用make来分配数据空间
    	a = make(map[string]string, 10)
    	fmt.Println(a)
    
    	//方式二 推荐这种 比较清晰
    	cities := make(map[string]string)
    	cities["no1"] = "北京"
    	fmt.Println(cities["no1"])
    
    	//方式二
    	heroes := map[string]string{"heroes1": "宋江", "heroes2": "卢俊义"}
    	fmt.Println(heroes)
    }
    func exercise() {
    	// map key是string 值有事map类型 这就是二维的了
    	student := make(map[string]map[string]string)
    	//只要使用到map就必须要make!!!!!!~~~~~~~~~~~~~~~~~~~~~~~~
    	student["stu1"] = make(map[string]string)
    	student["stu1"]["name"] = "tom"
    	student["stu1"]["age"] = "20"
    	//查找 并判断有没有这个值
    	v, ok := student["stu1"]
    	if ok {
    		fmt.Println("有stu1这个值 值是:", v)
    	} else {
    		fmt.Println("没有stu1这个值")
    	}
    	fmt.Println(student)
    	//map删除
    	delete(student, "stu1") //map变量名称,key值
    	fmt.Println(student)
    }
    

      

  • 相关阅读:
    LeetCode 773. Sliding Puzzle
    oracle latch工作原理
    Oracle关于锁的几种类型和参数
    Java的反射机制
    JAVA多线程与并发学习总结
    Spring 概念详解
    Spring的AOP
    spring面试题 对DI , AOP概念的理解
    双11的架构
    Java线程的定义
  • 原文地址:https://www.cnblogs.com/sheep-fu/p/14801152.html
Copyright © 2020-2023  润新知