怎么使用Go语言的map
发表于:2025-11-10 作者:千家信息网编辑
千家信息网最后更新 2025年11月10日,这篇文章主要讲解了"怎么使用Go语言的map",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"怎么使用Go语言的map"吧!语法声明和初始化配合make使
千家信息网最后更新 2025年11月10日怎么使用Go语言的map
这篇文章主要讲解了"怎么使用Go语言的map",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"怎么使用Go语言的map"吧!
语法
声明和初始化
配合make使用,否则是nil
var map[KeyType]ValueType//KeyType:表示键的类型//ValueType:表示键对应的值的类型make(map[KeyType]ValueType, [cap])//cap表示map的容量,该参数虽然不是必须的,但是我们应该在初始化map的时候就为其指定一个合适的容量//当你的容量超过时会自动扩充
例子:
//1.声明var name1 map[int]string //key是int,value是stringvar name2 map[string]string //key是string,value是string//字面量names3:=map[int]string{0:"张三",1:"李四"}//2.分配内存name1 = make(map[int]string, 2) //2:map的容量,当你的容量超过时会自动扩充name2 = make(map[string]string, 2)//3.赋值//3.1 通过KeyType赋值name1[0]="张三" //key:0 value:张三name1[1]="李四" //key:1 value:李四name1[2]="王五" //key:2 value:王五 //已经超过了分配的的容量,会自动扩充name2["A"]="张三"name2["B"]="李四"读取
根据KeyType来读取
如果keyType存在,就返回那个值,如果不存在,返回类型默认值值
fmt.Println(name1[0])fmt.Println(name2["B"])
测试map中key值是否存在
通过KeyType来取值时,会返回两个值,一个是vlue,另一个是是否存在的bool
if value, ok := name1[5]; ok { fmt.Println("存在这个值",value)} else { fmt.Println("不存在这个值", value)}删除
delete(map[int]string,[KeyType])
例子
delete(name1 , 1)
遍历
range
例子:
for key,value:=range name1 { fmt.Printf("key=%d,value=%s\n",key,value)}for key,value:=range name2 { fmt.Printf("key=%s,value=%s\n",key,value)}总结
map必须借助make分配内存空间,否则是nil
字面量初始化必修保证key是唯一的,否则error
map传递的是引用,就是说形参会改变实参的值
直接对map对象使用[]操作符获得的对象不能直接修改状态
map中存储指针而不是结构体
示例
package mainimport "fmt"func main() { //一、声明和初始化【配合make使用,否则是nil】 //1.声明 var name1 map[int]string //key是int,value是string var name2 map[string]string //key是string,value是string //2.分配内存 name1 = make(map[int]string, 2) //2:map的容量,当你的容量超过时会自动扩充 name2 = make(map[string]string, 2) //3.赋值 //3.1 通过KeyType赋值 name1[0] = "张三" //key:0 value:张三 name1[1] = "李四" //key:1 value:李四 name1[2] = "王五" //key:2 value:王五 //已经超过了分配的的容量,会自动扩充 name2["A"] = "张三" name2["B"] = "李四" //二、读取 // 1. 根据KeyType来读取,如果keyType存在,就返回那个值,如果不存在,返回类型默认值值 fmt.Println(name1[0]) fmt.Println(name2["B"]) // 2. 测试map中key值是否存在【通过KeyType来取值时,会返回两个值,一个是vlue,另一个是是否存在的bool】 if value, ok := name1[2]; ok { fmt.Println("存在这个值", value) } else { fmt.Println("不存在这个值", value) } //三、删除 delete(name1, 1) //删除了李四 delete(name2, "C") //没有这个C fmt.Println(name1) fmt.Println(name2) //四、遍历 for key,value:=range name1 { fmt.Printf("key=%d,value=%s\n",key,value) } for key,value:=range name2 { fmt.Printf("key=%s,value=%s\n",key,value) }}感谢各位的阅读,以上就是"怎么使用Go语言的map"的内容了,经过本文的学习后,相信大家对怎么使用Go语言的map这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
容量
李四
张三
分配
语言
类型
王五
例子
内存
学习
两个
内容
字面
对象
就是
测试
合适
参数
就是说
思路
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
联机游戏可以不使用服务器吗
松江区合格软件开发诚信合作
当乐软件开发
未成年人网络安全的ppt
小库存软件开发
云服务器的好处
软件开发不懂linux行吗
河北焱泽软件开发有限公司
4实施的网络安全法
苹果使用开放网络安全吗
简单手抄报一年级网络安全
吉林省网络安全公司有哪些
昆明方便软件开发价格走势
服务器硬盘怎么安装
数据库中存储的只有数据
网络安全网站电影院
眼镜行业软件开发什么品牌好
db2数据库安装显示欢迎页
本地数据库服务器连接不上
工业互联网软件开发系统
数据库应用技术实验步骤
支付宝服务器安全问题
密云区软件开发来电咨询
全程软件开发收费
徐州哪有软件开发
奥丁审判韩服有多少服务器
南京市专家数据库成立
vfp中将数据写入数据库
抖音的服务器在哪里找
网络安全督察通报