• Go map


    Go map类型

    //is_nil2:=map[string]int  不能直接这么定义空的map
    func map3() {
    	//is_nil2:=map[string]int  不能直接这么定义空的map
    	name_to_ago:=make(map[string]int,8)  //需要使用make()函数来分配内存
    	fmt.Println(name_to_ago)
    	name_to_ago2:=map[string]int{
    		"小明":19,
    		"老王":33,
    	}
    	fmt.Println(name_to_ago2) //map[小明:19 老王:33]
    
    	//map 初始值为nil类型 map[KeyType]ValueType
    	is_nil:=make(map[string]int,8)
    	fmt.Println(is_nil==nil)
    
    	val,ok:=name_to_ago2["小明"] //有的话值 int 和 True
    	fmt.Println(val,ok) //19 true
    	val2,ok2:=name_to_ago2["老明"] //没有的话返回 类型的null值(例如int的null为0 ) 和 false
    	fmt.Println(val2,ok2) //0 false
    
    	//map的遍历
    	for k, v := range name_to_ago2 {
    		fmt.Println(k, v)
    	}
    	//delete(map, key)
    	delete(name_to_ago2,"小明")
    	fmt.Println(name_to_ago2)//删了 小明
    
    	//取出map中的所有key存入切片keys
    	//元素为map类型的切片
    	var mapSlice = make([]map[string]string, 3)
    	for index, value := range mapSlice {
    		fmt.Printf("index:%d value:%v
    ", index, value)
    	}
    	fmt.Println("after init")
    	// 对切片中的map元素进行初始化
    	mapSlice[0] = make(map[string]string, 10)
    	mapSlice[0]["name"] = "小王子"
    	mapSlice[0]["password"] = "123456"
    	mapSlice[0]["address"] = "沙河"
    	for index, value := range mapSlice {
    		fmt.Printf("index:%d value:%v
    ", index, value)
    	}
    	//值为切片类型的map
    	var sliceMap = make(map[string][]string, 3)
    	fmt.Println(sliceMap)
    	fmt.Println("after init")
    	key := "中国"
    	value, ok := sliceMap[key]
    	if !ok {
    		value = make([]string, 0, 2)
    	}
    	value = append(value, "北京", "上海")
    	sliceMap[key] = value
    	fmt.Println(sliceMap)
    
    
    }
    

      

  • 相关阅读:
    转载一篇不错的Mac上安装Apache和多版本PHP的文章
    Mac 上配置tomcat 及可能碰到的问题。
    iOS通知中心 NSNotificationCenter详解
    字符缓冲区读取文件BufferedReader
    BufferedWriter—newLine
    缓冲流复制文件与基本流复制文件比较
    BufferedOutputStream缓冲流
    properties集合
    JDK7,JDK9流中异常的处理
    try-catch-finally处理流中的异常
  • 原文地址:https://www.cnblogs.com/xzqpy/p/12973242.html
Copyright © 2020-2023  润新知