go语言中的map数据结构,实现新增,删除,查找,更改,循环

map的简单介绍

map 是一种无序的,基于 key-value 的数据结构,
Go 语言中的 map 是引用类型,必须初始化才能使用。

make创建map类型,先声明在赋值

package main
import ("fmt")

func main()  {

	// key的类型是string,value的类型是string
	var mapObject =make(map[string]string)
	mapObject["name"]="小王"
	mapObject["age"]="18"
	fmt.Println(mapObject)
} 

输出:map[age:18 name:小王]

map声明的同时赋值

package main
import ("fmt")

func main()  {
	var mapObject = map[string]string{
		"name":"小王",
		"age":"18",
	}
	fmt.Println(mapObject)
} 

map[age:18 name:小王]

获取map的value

package main
import ("fmt")

func main()  {
	var mapObject = map[string]string{
		"name":"小王",
		"age":"18",
	}
	fmt.Println(mapObject["name"])
} 

输出:小王

循环map

package main
import ("fmt")

func main()  {
	var mapObject = map[string]string{
		"name":"小王",
		"age":"18",
	}
	for key,value := range mapObject{
		fmt.Printf("key值:%v,value值:%v\n",key,value)
	}
} 

key值:name,value值:小王
key值:age,value值:18

map新增key和修改value值

package main
import ("fmt")

func main()  {
	var mapObject = map[string]string{
		"name":"小王",
		"age":"18",
	}
	// map新增
	mapObject["sex"] = "男"
	mapObject["name"] = "李多多"
	fmt.Println(mapObject)
} 

map[age:18 name:李多多 sex:男]

map判断是否存在某个值

package main
import ("fmt")

func main()  {
	var mapObject = map[string]string{
		"name":"小王",
		"age":"18",
	}
	// map新增
	mapObject["sex"] = "男"
	// value表示map中name对应的值, existFlag表示name对应的值是否存在
  var value, existFlag = mapObject["name"]
	fmt.Println(value)
	fmt.Println(existFlag)
} 

小王
true

func main()  {
	var mapObject = map[string]string{
		"name":"小王",
		"age":"18",
	}
	// map新增
	mapObject["sex"] = "男"
	// value表示map中name对应的值, existFlag表示name对应的值是否存在
  var value, existFlag = mapObject["nameAAA"]
	fmt.Println(value)
	fmt.Println(existFlag)
} 

这里是空字符串
false

删除map中的某个key,使用delete

package main
import ("fmt")

func main()  {
	var mapObject = map[string]string{
		"name":"小王",
		"age":"18",
	}
	delete(mapObject,"name")
	fmt.Println(mapObject)
} 

map[age:18]

posted @ 2026-09-02 20:56  何人陪我共长生  阅读(9)  评论(0)    收藏  举报