go的数据类型-复合数据类型-map(一)
2023-06-13 09:18:44 时间
在Go语言中,Map是一种无序的键值对集合,也称为字典或关联数组。Map可以用来存储任意类型的值,键必须是支持相等运算符的类型,比如整数、浮点数、字符串、指针等。
创建Map 在Go语言中,创建Map可以使用内置的make函数,语法如下:
make(map[KeyType]ValueType)
其中KeyType表示键的类型,ValueType表示值的类型。例如,创建一个存储字符串类型值的Map,可以使用如下代码:
m := make(map[string]string)
向Map中添加元素 向Map中添加元素可以使用下标操作符[],如果Key不存在,则创建一个新的键值对。示例如下:
m := make(map[string]string)
m["name"] = "Alice"
m["age"] = "18"
获取Map中的元素 获取Map中的元素可以使用下标操作符[],如果Key不存在,则返回对应类型的零值。示例如下:
m := make(map[string]string)
m["name"] = "Alice"
m["age"] = "18"
fmt.Println(m["name"])
fmt.Println(m["gender"]) // 返回空字符串
删除Map中的元素 删除Map中的元素可以使用内置的delete函数,语法如下:
delete(map, key)
其中map表示要删除元素的Map,key表示要删除的键。示例如下:
m := make(map[string]string)
m["name"] = "Alice"
m["age"] = "18"
delete(m, "age")
遍历Map 遍历Map可以使用for range循环,示例如下:
m := make(map[string]string)
m["name"] = "Alice"
m["age"] = "18"
for k, v := range m {
fmt.Println(k, v)
}
这里的k表示键,v表示值。for range循环可以遍历Map中的每一个键值对。
Map的长度 Map的长度可以使用内置的len函数来获取,示例如下:
m := make(map[string]string)
m["name"] = "Alice"
m["age"] = "18"
fmt.Println(len(m))
示例代码:
package main
import "fmt"
func main() {
// 创建一个Map
m := make(map[string]string)
// 添加元素
m["name"] = "Alice"
m["age"] = "18"
m["gender"] = "female"
// 获取元素
fmt.Println("name:", m["name"])
fmt.Println("gender:", m["gender"])
// 删除元素
delete(m, "age")
// 遍历Map
for k, v := range m {
fmt.Println(k, v)
}
// Map的长度
fmt.Println("len:", len(m))
}
输出结果:
name: Alice
gender: female
name Alice
gender female
len: 2
在这个示例中,我们创建了一个Map,然后向Map中添加了三个键值对。我们可以使用下标操作符[]来获取Map中的元素。我们还使用了delete函数删除了一个下面我们来看看一些常见的map
操作。
相关文章
- golang有序map_go语言发展不起来
- java 把对象转成map_Java对象转换成Map[通俗易懂]
- Go 编程 | 连载 27 - 正则表达式
- Go REFLECT Library | 03 - 反射的值 Value
- GO系列(4)-goroutine基本用法
- 「Go工具箱」go语言csrf库的使用方式和实现原理
- mybatis 查询返回List集合、map集合、List<Map>集合[通俗易懂]
- GoLang16 - Go语言Map(集合)
- 基于go语言搭建高性能IM系统
- Go 100 mistakes之不正确的值比较
- 「Go工具箱」一个对语义化版本进行解析、比较的库:go-version
- Go 模块 verifying xxx/go.mod: checksum mismatch 问题处理
- 每日优鲜回应清退解散;国内Go语言爱好者发起新编程语言;微信安装包11年膨胀575倍|Q资讯
- Go语言圣经-文本和HTML模板习题详解编程语言
- Go_ go mod 命令解决墙的问题详解编程语言
- go语言之map详解编程语言
- Go语言网络爬虫内部基础接口
- 深度探索Go语言与Redis结合(go-redis)
- 便捷使用Go编程连接Redis(go连接redis)
- MySQL中使用Map作为参数的实现方法(mysql中map做参数)
- Go语言搭建Oracle数据库快速连接方法(go语言连接oracle)
- 数据库Go语言实现监控Oracle数据库(go监听oracle)
- Go语言操作Oracle数据库技术实践(go操作oracle)
- Redis集群搭建Go的艰难之路(redis集群搭建go)