Go的map查找

简介: 在Go中,map是一种无序的键值对集合,类似于其他语言中的字典或哈希表。可以使用map来存储和查找数据。

创建一个map需要使用make()函数,指定map的类型。例如:

m := make(map[string]int)

上面的例子创建了一个键为string类型,值为int类型的map。

向map中添加元素可以使用以下语法:

m[key] = value

要从map中查找一个值,可以使用以下语法:

value := m[key]

如果map中不存在指定的键,则返回零值。

以下是一个完整的示例:

package main

import "fmt"

func main() {
   
    // 创建一个map
    m := make(map[string]int)

    // 添加键值对
    m["apple"] = 1
    m["banana"] = 2
    m["orange"] = 3

    // 查找值
    value := m["apple"]
    fmt.Println(value) // 输出:1

    // 删除键值对
    delete(m, "banana")

    // 遍历map
    for key, value := range m {
   
        fmt.Println(key, value)
    }
}

输出结果为:

1
apple 1
orange 3

该示例演示了如何创建map、添加键值对、查找值、删除键值对和遍历map。

需要注意的是,map是无序的,每次遍历得到的键值对的顺序可能不同。

同时,需要注意的是,当从map中查找一个不存在的键时,会返回该值类型的零值,而不会引发错误。可以通过检查返回值是否为零值来判断一个键是否存在。例如:

value, ok := m[key]
if ok {
   
    fmt.Println("存在")
} else {
   
    fmt.Println("不存在")
}
目录
相关文章
|
22天前
|
Go
go语言中遍历映射(map)
go语言中遍历映射(map)
38 8
|
4月前
|
Go
Go 语言为什么不支持并发读写 map?
Go 语言为什么不支持并发读写 map?
|
14天前
|
Go
go语言for遍历映射(map)
go语言for遍历映射(map)
28 12
|
18天前
|
存储 Go
go语言 遍历映射(map)
go语言 遍历映射(map)
29 2
|
3月前
|
Go 定位技术 索引
Go 语言Map(集合) | 19
Go 语言Map(集合) | 19
|
4月前
|
存储 算法 Java
Go 通过 Map/Filter/ForEach 等流式 API 高效处理数据
Go 通过 Map/Filter/ForEach 等流式 API 高效处理数据
|
4月前
|
存储 安全 NoSQL
Go map 读写性能优化 - 分片 map
Go map 读写性能优化 - 分片 map
50 1
|
4月前
|
存储 人工智能 安全
go sync.Map 设计与实现
go sync.Map 设计与实现
38 1
|
4月前
|
存储 缓存 Go
如何检查 Go map 是否包含某个键?
【8月更文挑战第31天】
40 0
|
4月前
|
存储 Go 容器
Go从入门到放弃之map(字典)
Go从入门到放弃之map(字典)