📌  相关文章
📜  golang map has key - Go 编程语言 - Go 编程语言(1)

📅  最后修改于: 2023-12-03 15:15:22.175000             🧑  作者: Mango

golang map has key

在golang中,map是一种实现了哈希表的数据结构,它使用键值对存储和访问数据。

map提供了一个简单但强大的API,通过 key-value 的形式获取、操作数据。在go语言中,有时候需要判断 map 中是否存在某个 key 值,本文将介绍如何使用 has key 方法来实现这一目的。

判断 map 中是否存在某个 key

Go语言的map类型是一种无序的键值对集合。我们可以使用map提供的haskey方法来判断map中是否存在某个key。以下是示例代码:

package main

import "fmt"

func main() {
    scores := make(map[string]int)
    scores["Bob"] = 10    // 添加元素
    score, ok := scores["Bob"]
    if ok {
        fmt.Println(score)
    }
}

代码说明:

  1. 使用make()函数来新建一个map,key是string类型,value是int类型;
  2. 将一个键/值对映射放入map中,我们使用scores["Bob"] = 10语法。

在完成了第2步之后,我们可以使用has key方法来查看scores是否包含 Bob:

score, ok := scores["Bob"]
if ok {
    fmt.Println(score)
}

如果scores中包含Bob,则ok为true且score的值为对应的分数。如果scores中不包含Bob,则ok为false且score的值为0。

使用range遍历map中的key

我们可以使用range关键字遍历map中的key:

scores := make(map[string]int)
scores["Bob"] = 10
scores["Alice"] = 20

for key := range scores {
    fmt.Println(key)
}

输出结果为:

Bob
Alice
使用delete()函数从map中删除元素

使用delete()函数从map中删除元素,delete()的语法如下:

delete(map, key)

其中map是要删除元素的map对象,key是要删除的key值。

scores := make(map[string]int)
scores["Bob"] = 10
scores["Alice"] = 20

delete(scores, "Bob")

在上面的代码中,我们使用delete()函数从scores map中删除了key为"Bob"的元素。

总结

golang中的map提供了非常便利的键值对存储数据的方式,并且可以使用has key方法来判断某个键值对是否存在于map中。当需要从map中删除元素时,可以使用delete()函数实现。