• go map %q输出原始字符串


    说明

    map:
        字典、映射  key———value  key:唯一、无序。不能是引用类型数据。
        map 不能便用cap()
        创建方式:
            1. var m1 map[int]string        ---不能存储数据
            2. m2 := map[int]string         ---能存储数据
            3. m3 := make(map[int]string)   ---默认len = 0
            4.m4 := make(map[int]string, 10)
        初始化:
            var m map[int]string = map[int]string{1: "aaa", 2:"bbb"}    保证key彼此不重复
    
    map的遍历:
      	遍历map:
      			for key值, value值:= range map {
      			}
      			for key值 :=range map {
      			}
      	判断map中key是否存在.
      			map[下标]运算:返回两个值,第一个表value的值,如果value不存在。nil
      									第二个表key是否存在的bool类型。存在true,不存在false
      	删除map:
      			delete(函数:参1: 待删除元素的map 参2: key值
      			map做函数参数和返回值,传引用.
    

    代码:

    package main
    
    import "fmt"
    
    func rangeMap(){
    	//遍历map  %q 显示格式化前字符串的内容
    	var m8 map[int]string = map[int]string {1:"Luffy", 130:"Sanji", 1301:"Zoro"}
    	for k, v := range m8{
    		fmt.Printf( "key : %d --- va1ue : %q\n", k, v)
    	}
    	// range返回的key/ value 。省略value打印。
    	for _, K := range m8 {
    		fmt.Printf("key : %s \n", K)
    	}
    }
    
    func hasKey(){
    	//判断map中的key是否存在
    	var m9 map[int]string = map[int]string {1:"Luffy", 130:"Sanji", 1301:"Zoro"}
    	if v, has := m9[11]; !has {//  M m9l下标]返回两个值,第一个是value,第二个是bool代表key是否存在。
    		fmt.Println( "false value=", v, "has=", has)
    	} else {
    		fmt.Println( " value=", v,"has=", has)
    	}
    }
    
    // map做函数参数, 返回值,传引用
    func mapDelete(m map[int]string, key int) {
    	delete(m, key) //删除m中键值为key的map元素
    }
    
    func testMapDelete(){
    	m := map[int]string {1:"Luffy", 130:"Sanji", 1301:"Zoro"}
    	fmt.Println("before de1ete m :", m)
    	mapDelete(m,  130)
    	fmt.Println(  "after delete m :",m)
    }
    
    func main(){
    	rangeMap()
    	hasKey()
    	testMapDelete()
    }
    
    /*
    map的便用:
    	遍历map:
    			for key值, value值:= range map {
    			}
    			for key值 :=range map {
    			}
    	判断map中key是否存在.
    			map[下标]运算:返回两个值,第一个表value的值,如果value不存在。nil
    									第二个表key是否存在的bool类型。存在true,不存在false
    	删除map:
    			delete(函数:参1: 待删除元素的map 参2: key值
    			map做函数参数和返回值,传引用.
    */
    

    输出

    key : 1 --- va1ue : "Luffy"
    key : 130 --- va1ue : "Sanji"
    key : 1301 --- va1ue : "Zoro"
    key : Luffy
    key : Sanji
    key : Zoro
    false value=  has= false
    before de1ete m : map[1:Luffy 130:Sanji 1301:Zoro]
    after delete m : map[1:Luffy 1301:Zoro]
    
  • 相关阅读:
    JDBC 访问数据库的流程
    JSP中两种include的区别
    javascript中循环语句 while、dowhile、forin、for用法区别
    php正则取得页面所有的图片地址
    php基础入门篇学习笔记
    php正则表达匹配中文问题分析
    .htaccess 301重定向详细教程
    忘记mysql的root密码重置方法
    php for循环语句的几种用法分析
    javascript邮箱验证代码分析
  • 原文地址:https://www.cnblogs.com/heris/p/15996985.html
Copyright © 2020-2023  润新知