【GO】复合类型:映射

代码地址

https://github.com/fangkang7/goLearn

映射的几种写法

第一种一站式声明赋值

	countryCapitalMap := make(map[string]string)

第二种先声明在赋值

	var countryCapitalMap map[string]string
	countryCapitalMap = make(map[string]string)

第三种

var countryCapitalMap map[string]string = make(map[string]string)

第四种

// 创建一个映射,使用字符串切片作为值
myMap := map[int][]string{}

在这里插入图片描述

案例

在这里插入图片描述

注意点

在以上案例中有一行这代码,这个是把映射里边的值赋值给ok 当映射里存在这个值时为true 反之为fales
在这里插入图片描述

案例二

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

代码

package main

import "fmt"

func main010() {
	var countryCapitalMap map[string]string
	/* create a map*/
	countryCapitalMap = make(map[string]string)
	/* insert key-value pairs in the map*/
	countryCapitalMap["France"] = "Paris"
	countryCapitalMap["Italy"] = "Rome"
	countryCapitalMap["Japan"] = "Tokyo"
	countryCapitalMap["India"] = "New Delhi"
	/* print map using keys*/
	for country := range countryCapitalMap {
		fmt.Println("Capital of", country, "is", countryCapitalMap[country])
	}
	/* test if entry is present in the map or not*/
	capital, ok := countryCapitalMap["United States"]
	fmt.Println("咔咔打印", ok)
	/* if ok is true, entry is present otherwise entry is absent*/
	if ok {
		fmt.Println("Capital of United States is", capital)
	} else {
		fmt.Println("Capital of United States is not present")
	}
}

func main() {
	// 映射定义的几种方式
	//var scoreMap map[string]int = map[string]int{}
	//var scoreMap = map[string]int{}
	//scoreMap := map[string]int{}
	// 没有指定长度,一开始就是0
	scoreMap := make(map[string]string)
	scoreMap["咔咔博客地址"] = "blog.fangkang.top"
	scoreMap["咔咔手赚网地址"] = "fangkang.top"

	// 根据键值访问值
	fmt.Println("咔咔博客地址为", scoreMap["咔咔博客地址"])
	fmt.Println("咔咔手赚网地址为", scoreMap["咔咔手赚网地址"])

	// 修改键值
	scoreMap["咔咔手赚网地址"] = "https://fangkang.top"
	fmt.Println("咔咔手赚网地址", scoreMap["咔咔手赚网地址"])

	// 带校验的访问键值  这里的ok返回true  和 false
	notExist, ok := scoreMap["不存在的键值"]
	if ok {
		fmt.Println("存在的啊")
	}
	// 关于上边用:=  这里用 =  简单说明一下  上边的定义赋值在一起  下面只是进行赋值
	notExist, ok = scoreMap["咔咔博客地址"]
	if ok {
		fmt.Println(notExist)
	}
	// 访问一个不存在的键
	fmt.Println("咔咔手赚网地址", notExist, ok)

}

/**
对映射进行遍历
*/
func main123() {
	scoreMap := map[string]string{}
	scoreMap["咔咔博客地址"] = "blog.fangkang.top"
	scoreMap["咔咔手赚网地址"] = "fangkang.top"

	// %s 代表的是字符串
	for key, value := range scoreMap {
		fmt.Printf("scoreMap[%s]=%s\n", key, value)
	}
}

博主微信欢迎交流

在这里插入图片描述

发布了859 篇原创文章 · 获赞 131 · 访问量 67万+

猜你喜欢

转载自blog.csdn.net/fangkang7/article/details/104906145