📅  最后修改于: 2023-12-03 15:15:22.095000             🧑  作者: Mango
哈希表 (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 示例。