go基础 数据结构map
go中的map结构类似于python中的dict。go中map的value和key在声明的时候需要指定类型。
·
go中的map结构类似于python中的dict。go中map的value和key在声明的时候需要指定类型。
map的定义
map有多种定义方法如下:
程序示例:
package main import "fmt" func main() { // 定义方法1: m1 := map[string] string{ "a":"A", } fmt.Println(m1) //定义方法2:make m2 := make(map[string] string) m2["b"] = "B" fmt.Println(m2) //定义方法3:定义空map m3 := map[string] string{} fmt.Println(m3) // map中的key不是所有类型都支持,例如支持数组不支持切片,该类型需要支持==或!=操作 a := [3] int{1, 2, 3} b := [3] int{1, 2, 3} if a==b{ // 此操作数组必须长度相等 fmt.Println("a等于b!") } }
运行结果:
map[b:B] map[] a等于b!
map的操作
增删改查操作
程序示例:
package main import "fmt" func main() { // 增加操作 m1 := make(map[string] int) m1["a"] = 1 m1["b"] = 2 fmt.Println(m1) //map[a:1 b:2] fmt.Printf("%v\n", m1) //map[a:1 b:2] // 修改 m1["a"] = 99 fmt.Println(m1) // 查询:注意当查询一个map中没有的key的value时,value和类型有关 fmt.Println(m1["d"]) // 0 m2 := make(map[string] string) fmt.Println(m2["gogo"]) // 此处会显示空字符串 fmt.Println("**************************") // 删除 当删除一个不存在的值的时候也不会报异常 delete(m1, "a") fmt.Println(m1) }
运行结果:
map[a:1 b:2] map[a:1 b:2] map[a:99 b:2] 0 // 注意此处为空 ************************** map[b:2]
map的遍历
map的遍历比较简单,类似python
程序:
package main import "fmt" func main() { m1 := make(map[string] int) m1["a"] = 1 m1["b"] = 2 fmt.Println(m1) //map[a:1 b:2] // 遍历 for k, v := range m1 { fmt.Println(k, v) } }
运行结果:
map[a:1 b:2] a 1 b 2

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。
更多推荐
所有评论(0)