📜  golang hashmap 示例 (1)

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

Golang Hashmap 示例

哈希表 (Hashmap) 是一种数据结构,可以用来高效地存储和查找键值对。在 Golang 中,可以使用内置的 map 类型来实现哈希表。

以下是一个 Golang Hashmap 示例:

package main

import "fmt"

func main() {
    // 创建一个新的哈希表
    m := make(map[string]int)

    // 添加键值对到哈希表中
    m["foo"] = 42
    m["bar"] = 13

    // 获取键值对
    fmt.Println("foo:", m["foo"])
    fmt.Println("bar:", m["bar"])

    // 获取一个不存在的键
    fmt.Println("baz:", m["baz"])

    // 获取值和布尔值,判断键是否存在
    v, ok := m["foo"]
    fmt.Println("foo:", v, "exists:", ok)

    v, ok = m["baz"]
    fmt.Println("baz:", v, "exists:", ok)

    // 删除一个键值对
    delete(m, "foo")
    fmt.Println("m:", m)

    // 在迭代中遍历键值对
    for k, v := range m {
        fmt.Println(k, ":", v)
    }

    // 获取哈希表中的键
    keys := make([]string, len(m))
    i := 0
    for k := range m {
        keys[i] = k
        i++
    }
    fmt.Println("keys:", keys)
}

我们首先创建了一个新的哈希表 m,并分别向其中添加了键值对 "foo": 42"bar": 13。通过 m["foo"]m["bar"] 的方式可以获取相应的值。

当我们尝试获取一个不存在的键的值时,返回的值是该值类型的默认值(如 0,false 或者 "")。

我们可以使用这种方式来判断一个键是否存在于哈希表中:

v, ok := m["foo"]

变量 v 存储了键 "foo" 对应的值,变量 ok 是一个布尔值,表示该键是否存在于哈希表中。

删除一个键值对的方式为:

delete(m, "foo")

在迭代中遍历键值对的方式为:

for k, v := range m {
    fmt.Println(k, ":", v)
}

最后,我们展示了如何获取哈希表中的所有键的方式。

以上便是一个简单的 Golang Hashmap 示例。