栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Go语言

go基础 数据结构map

Go语言 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

go基础 数据结构map

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("%vn", 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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/907020.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号