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]
posted @ 2022-03-12 13:31  ty1539  阅读(378)  评论(0编辑  收藏  举报