zoukankan      html  css  js  c++  java
  • 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)
    
    
    }
    

      

  • 相关阅读:
    Mysql注入绕过姿势
    轻松入侵我学校网站
    华科机考:矩阵转置
    浙大patB习题的一点总结
    链表的一些基本操作
    关于C中函数传参的一点理解
    Java与JavaScript中判断两字符串是否相等的区别
    Jsp中out.println()与System.out.println()的区别
    eclipse背景主题
    Kruskal算法的简单实现
  • 原文地址:https://www.cnblogs.com/xzqpy/p/12973242.html
Copyright © 2011-2022 走看看