golang之map与数组使用示例

  1. 使用make分配map内存
Go 复制代码
m := make(map[string]int)

2.给map赋值

Go 复制代码
    m["a"] = 0
	m["b"] = 1
	m["c"] = 2
	m["d"] = 3
	m["e"] = 4
	m["f"] = 5
	m["g"] = 6
	m["h"] = 7

3.遍历map

Go 复制代码
fmt.Println("map:", m, "map长度:", len(m))
	//遍历map,无序输出
	for k, v := range m {
		fmt.Println("键:", k, "值:", v)
	}

4.对map进行删除,清空,长度计算操作

Go 复制代码
    fmt.Println("取map中指定键f的值:", m["f"])
	v, ret := m["f"]
	fmt.Println("值:", v, "结果:", ret)
	delete(m, "f")
	fmt.Println("删除map中键为f的元素后:", m, "map长度:", len(m))
	clear(m)
	fmt.Println("调用clean函数清空map后:", m, "map长度:", len(m))

5.map对象比较

Go 复制代码
//直接初始化map
	m1 := map[string]int{"a1": 1, "a2": 2}
	fmt.Println(m1["a1"], m1["a2"], m1, len(m1))
	m2 := map[string]int{"a1": 1, "a2": 2}
	//map对象比较
	tmp := ""
	if maps.Equal(m1, m2) {
		tmp = "YES"
	} else {
		tmp = "NO"
	}
	fmt.Println("map m1与m2是相等的:", tmp)
	//遍历map
	for k, v := range m1 {
		fmt.Println("键:", k, "值:", v)
	}

6.数组初始化与遍历

Go 复制代码
//数组初始化
	nums := []int{1, 2, 3, 4, 5, 6, 7, 8, 9, 0}
	//数组遍历
	for k, v := range nums {
		fmt.Println("of nums: ===> ", "key:", k, "value:", v)
	}

7.map与数组交互使用

Go 复制代码
stringMap := make(map[string]string)
	stringArr := []string{"中国", "美国", "日本"}
	stringArr1 := []string{"ZH", "US", "JP"}
	for i, v := range stringArr1 {
		stringMap[v] = stringArr[i]
	}
	for k, v := range stringMap {
		fmt.Println(k, v)
	}

完整示例:

Go 复制代码
//maps使用
	m := make(map[string]int)
	m["a"] = 0
	m["b"] = 1
	m["c"] = 2
	m["d"] = 3
	m["e"] = 4
	m["f"] = 5
	m["g"] = 6
	m["h"] = 7
	fmt.Println("map:", m, "map长度:", len(m))
	//遍历map,无序输出
	for k, v := range m {
		fmt.Println("键:", k, "值:", v)
	}
	fmt.Println("取map中指定键f的值:", m["f"])
	v, ret := m["f"]
	fmt.Println("值:", v, "结果:", ret)
	delete(m, "f")
	fmt.Println("删除map中键为f的元素后:", m, "map长度:", len(m))
	clear(m)
	fmt.Println("调用clean函数清空map后:", m, "map长度:", len(m))
	//直接初始化map
	m1 := map[string]int{"a1": 1, "a2": 2}
	fmt.Println(m1["a1"], m1["a2"], m1, len(m1))
	m2 := map[string]int{"a1": 1, "a2": 2}
	//map对象比较
	tmp := ""
	if maps.Equal(m1, m2) {
		tmp = "YES"
	} else {
		tmp = "NO"
	}
	fmt.Println("map m1与m2是相等的:", tmp)
	//遍历map
	for k, v := range m1 {
		fmt.Println("键:", k, "值:", v)
	}

	//数组初始化
	nums := []int{1, 2, 3, 4, 5, 6, 7, 8, 9, 0}
	//数组遍历
	for k, v := range nums {
		fmt.Println("of nums: ===> ", "key:", k, "value:", v)
	}

	stringMap := make(map[string]string)
	stringArr := []string{"中国", "美国", "日本"}
	stringArr1 := []string{"ZH", "US", "JP"}
	for i, v := range stringArr1 {
		stringMap[v] = stringArr[i]
	}
	for k, v := range stringMap {
		fmt.Println(k, v)
	}
相关推荐
ningbaidexia15 分钟前
java数据结构集合复习之ArrayList与顺序表
java·数据结构·windows
托尼沙滩裤2 小时前
【js面试题】js的数据结构
前端·javascript·数据结构
续亮~3 小时前
6、Redis系统-数据结构-03-压缩列表
数据结构·数据库·redis
鸽鸽程序猿4 小时前
【数据结构】顺序表
java·开发语言·数据结构·学习·算法·intellij idea
瑶风4 小时前
go语言并发编程1-Gouroutine
开发语言·后端·golang
取加若则_5 小时前
C++入门(C语言过渡)
c语言·开发语言·数据结构·c++·算法
闲谈社5 小时前
go zero入门
微服务·golang·go
中草药z6 小时前
【Java算法】二分查找 上
数据结构·笔记·算法·leetcode·二分查找·学习方法
努力学习的小廉6 小时前
双向链表 -- 详细理解和实现
数据结构·链表
Miracle_86.7 小时前
【数据结构】单链表:数据结构中的舞者,穿梭于理论与实践的舞池
c语言·数据结构·链表·学习方法