Go语言基础之怎么使用Map
发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,这篇文章主要讲解了"Go语言基础之怎么使用Map",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Go语言基础之怎么使用Map"吧!引入mapmap,在P
千家信息网最后更新 2026年11月04日Go语言基础之怎么使用Map
这篇文章主要讲解了"Go语言基础之怎么使用Map",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Go语言基础之怎么使用Map"吧!
引入map
map,在Python中叫字典,Java中也叫map,PHP中好像列表就带有map的功能。
map是键值对(key-value)存储结构,是无序的,内部使用哈希(hash)实现,性能很高。
在Go中,map是引用类型
map基本使用
map语法
方式一,声明时赋值 var 变量名 = map[key类型][value类型]{ key:value, key:value,//必须使用,结尾,否则会报错 } //方式二,make方式 var 变量名 = make(map[key类型]value类型, 容量(cap)) //如果map是make方式声明的,第二个参数直接就是容量,元素个数是0,没有第三个参数示例
方式一,声明时赋值
代码
package main import "fmt" func main() { var stu1 = map[string]string{ "Name": "张三", "Age": "18", "height": "188", //每行都要以,结尾, } var stu2 = map[string]string{ "Name": "李四", "Age": "20", "height": "170", //每行都要以,结尾, } fmt.Println(stu1, stu2) //map[Age:18 Name:张三 height:188] map[Age:20 Name:李四 height:170] }方式二,make方式
代码
package main import "fmt" func main() { var stu1 = make(map[string]string,10) stu1["Name"] = "张三" stu1["Age"] = "18" stu1["height"] = "188" var stu2 = make(map[string]string,10) stu2["Name"] = "李四" stu2["Age"] = "20" stu2["height"] = "170" fmt.Println(stu1,stu2) //map[Age:18 Name:张三 height:188] map[Age:20 Name:李四 height:170] }ps:关于这两种方式,哪个使用的多。
我的建议是,如果确定有多少个字段,就使用第一种,如果不确定多少个字段,是动态添加的,用第二种。
使用第二种要大概估算好容量,超过会触发自动扩容机制,可能会产生那么一丝丝的性能影响。
遍历map(查)
遍历map,通常只用一种方式for range。
代码
package main import "fmt" func main() { var stu1 = make(map[string]string, 10) stu1["Name"] = "张三" stu1["Age"] = "18" stu1["height"] = "188" for key, value := range stu1 { //map遍历时,key值键,value是值 fmt.Println(key, value) } }只遍历key
package main import "fmt" func main() { var stu1 = make(map[string]string, 10) stu1["Name"] = "张三" stu1["Age"] = "18" stu1["height"] = "188" for key := range stu1 { //只遍历key fmt.Println(key) } }修改map的值(改)
package main import "fmt" func main() { //var stu1 = make(map[string]string, 10) //stu1["Name"] = "张三" //stu1["Age"] = "18" //stu1["height"] = "188" // //stu1["Name"] = "张三666"//修改 //fmt.Println(stu1) //同上 var stu1 = map[string]string{ "Name": "张三", "Age": "18", "height": "188", //每行都要以,结尾, } stu1["Name"] = "张三666"//修改 fmt.Println(stu1) }删除map里面的值
删除map里面的值需要用到delete。
代码
package main import "fmt" func main() { var stu1 = map[string]string{ "Name": "张三", "Age": "18", "height": "188", //每行都要以,结尾, } fmt.Println(stu1) //map[Age:18 Name:张三 height:188] delete(stu1, "Name") //删除key以及key对应的值 fmt.Println(stu1) //map[Age:18 height:188] }map取值注意事项
map在取值时,尽可能的判断一下是否key存在
package main import "fmt" func main() { var stu1 = map[string]string{ "Name": "张三", "Age": "18", "height": "188", //每行都要以,结尾, } //result := stu1["Name"]//key存在,没问题 //fmt.Println(result)//张三 //result := stu1["Names"]//手一抖,key打错了 //fmt.Println(result)//结果为空,显然不是太友好 //取值标准用法 result, ok := stu1["Name"] //如果key存在,ok为true,如果key不存在,ok为false fmt.Println(result,ok)//张三 true if ok { fmt.Println(result) } else { fmt.Println("key不存在") } }感谢各位的阅读,以上就是"Go语言基础之怎么使用Map"的内容了,经过本文的学习后,相信大家对Go语言基础之怎么使用Map这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
张三
方式
类型
基础
语言
语言基础
代码
李四
容量
学习
内容
参数
变量
字段
就是
性能
问题
三个
个数
事项
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
上海睿民互联网科技有限公司
广州紫鲸互联网科技有限公司
江苏根荣互联网科技
互联网和科技技术
互联网科技行业发展
互联网科技公司税收优惠
互联网科技有限公司图片
互联网络科技有限公司
易通互联网络科技有限公司
广州凡科互联网科技
火传媒上海互联网科技
老年人脱离互联网科技的作文
农村开互联网科技讲堂
广州恒生互联网科技有限
和信科技工业互联网
合肥互联网科技公司公章图片
电子商务与互联网科技的关系
半导体是互联网高科技吗
互联网科技职业技能培训学校
互联网科技自媒体灵感
互联网科技企业
互联网金融与金融科技
互联网金融监管科技
哈尔滨新华互联网科技学院
广州慧亚互联网科技怎么样
互联网科技实习生岗位职责
广州市恰铎互联网科技有限公司
华中科技大学互联网的牛人
山东子淼互联网科技有限公司
银行科技岗属于互联网吗