Go - map
定义
map - 类似于HashTable或者Dictionary,使用key-value 对子的形式来表示。
key 必须由支持 == 或者 := 比较运算符,不能是函数,Slice还有Map类型。
map 查找比遍历快,但是比索引查找慢得多(100倍)。
使用"make" 关键字来定义map, 语法为:
package main import ( "fmt" ) func main() { var m1 map[int]string fmt.Println(m1) var m2 map[int]string m2 = map[int]string{} fmt.Println(m2) m3 := make(map[int]string) fmt.Println(m3) }
当键值对不存在时自动添加,使用 “delete” 关键字进行删除
package main import ( "fmt" ) func main() { m3 := make(map[int]string) fmt.Println(m3) m3[1] = "ok" a := m3[1] fmt.Println(a) } //output map[] ok
Map 嵌套 与 多返回值
m4 := make(map[int]map[int]string) //定义一个map,其value还是map a, ok := m4[0][0] //定义多返回值 a, ok, ok 为 bool 类型 if !ok { m4[0] = make(map[int]string) //定义外层map的value(还是map) m4[0][0] = "Good" // 赋值 } a, ok = m4[0][0] fmt.Println(a, ok) //output Good true
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现