Go语言学习笔记十三: Map集合
Go语言学习笔记十三: Map集合
Map在每种语言中基本都有,Java中是属于集合类Map,其包括HashMap, TreeMap等。而Python语言直接就属于一种类型,写法上比Java还简单。
Go语言中Map的写法比Java简单些,比Python繁琐。
定义Map
var x map[string]string
x : = make(map[string]string)
写法上有些奇怪,map为关键字,右侧中括号内部为key的类型,中括号外部为value的类型。一般情况下使用逗号或者冒号分割key和value,但是Go语言没有遵循这个原则,而是使用了括号里和括号外。
而且map必须初始化,否则就会变成nil map,而nil map不能用来存放键值对。
package main
import "fmt"
func main() {
var x map[string]string
x = make(map[string]string)
x["a"] = "1";
x["b"] = "2";
for item := range x {
fmt.Println(item, x[item]);
}
value, exist := x["a"]
if (exist) {
fmt.Println("x has", value);
}
}
delete函数
delete() 函数用于删除集合的元素, 参数为 map 和其对应的 key。
fruits := map[string]string {"apple": "12", "orange": "210"}
delete(fruits, "apple")
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构