栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

go 语言学习笔记⑦----映射(map)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

go 语言学习笔记⑦----映射(map)

文章目录

go 语言学习笔记⑦----映射(map)

使用make赋值遍历是否存在删除做函数参数

go 语言学习笔记⑦----映射(map)

键值对,映射(类c++中的map )
map[keyType]valueType
keyType 不可以是切片了, 函数以及包含切片的结构类型
eg mp := map[int]string{}
无序存储

使用

只有len没有cap

package main

import (
	"fmt"
)

func main() {
	mp := map[int]string{}
	mp[1] = "111"
	fmt.Println(mp[1])
	//111
	mp[2] = "222"
	fmt.Println(len(mp))
	//2
}

make

通过make创建mp := make(map[int]string)
制定长度(容量)里面无数据mp := make(map[int]string, 2)

赋值

如果key已经存在, 修改对应value
如果key不存在, 创建key值为value
自动扩容

遍历

for key , value := range map {

}
range第一个返回的是键 , 第二个是值

package main

import (
	"fmt"
)

func main() {
	mp := map[int]string{1: "111", 2: "222"}
	for key, value := range mp {
		fmt.Println(key, value)
	}
}
是否存在

value , ok = mp[1]
第一个是value第二个是boolean

package main

import (
	"fmt"
)

func main() {
	mp := map[int]string{1: "111", 2: "222"}
	value, ok := mp[1]
	fmt.Println(value, ok)
	//111 true
	value, ok = mp[4]
	fmt.Println(value, ok)
	// false

}

删除

delete(变量名, 值)

package main

import (
	"fmt"
)

func main() {
	mp := map[int]string{1: "111", 2: "222"}
	fmt.Println(len(mp))
	//2
	delete(mp, 1)
	fmt.Println(len(mp))
	//1

}

做函数参数
package main

import (
	"fmt"
)

func deleteMap(m map[int]string) {
	delete(m, 1)
}

func main() {
	mp := map[int]string{1: "111", 2: "222"}
	fmt.Println(len(mp))
	//2
	deleteMap(mp)
	fmt.Println(len(mp))
	//1
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/703444.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号