从 Go 中的 Map 中获取键的切片
Golang Map 是无序键值对的集合。它被广泛使用,因为它允许使用键快速查找和检索、更新或删除值。
map 中的值不像键一样唯一,可以是任何类型,例如 int、float64、rune、text、pointer、引用类型、map 类型等。
在本教程中,我们将从 Go 中的映射中检索一个键切片。
在此示例中,我们从字符串键和字符串值的映射开始。然后我们说明如何仅检索单独字符串切片中的键。
我们通过使用 range
从 map 中获取键,并使用 append()
将它们附加到一个空切片。
package main
import "fmt"
func main() {
m := map[string]string{
"animal": "Cat",
"Car": "GMC",
"Metal": "Gold",
}
keys := []string{}
for key, _ := range m {
keys = append(keys, key)
}
fmt.Println("KEYS SLICE -", keys)
}
输出:
KEYS SLICE - [animal Car Metal]
要获取类型为 []Value
的键数组,我们使用 reflect 包中的 MapKeys
方法。
package main
import (
"fmt"
"reflect"
)
func main() {
a := map[string]string{
"animal": "Cat",
"Car": "GMC",
"Metal": "Gold",
}
keys := reflect.ValueOf(a).MapKeys()
fmt.Println("Keys Slice -", keys)
}
输出:
Keys Slice - [animal Car Metal]
相关文章
在 Golang 中使用 If-Else 和 Switch Loop Inside HTML 模板
发布时间:2023/04/27 浏览次数:65 分类:Go
-
本篇文章介绍了在 Golang 的 HTML 模板中使用 if-else 和 switch 循环。因此,只要输出是 HTML,就应该始终使用 HTML 模板包而不是文本模板。
Golang 中的零值 Nil
发布时间:2023/04/27 浏览次数:166 分类:Go
-
本篇文章介绍 nil 在 Golang 中的含义,nil 是 Go 编程语言中的零值,是众所周知且重要的预定义标识符。
Golang 中的 Lambda 表达式
发布时间:2023/04/27 浏览次数:93 分类:Go
-
本篇文章介绍如何在 Golang 中创建 lambda 表达式。Lambda 表达式似乎不存在于 Golang 中。 函数文字、lambda 函数或闭包是匿名函数的另一个名称。
在 Go 中捕获 Panics
发布时间:2023/04/27 浏览次数:66 分类:Go
-
像错误一样,Panic 发生在运行时。 换句话说,当您的 Go 程序中出现意外情况导致执行终止时,就会发生 Panics。让我们看一些例子来捕捉 Golang 中的Panics。
在 Go 中使用断言
发布时间:2023/04/27 浏览次数:181 分类:Go
-
本篇文章介绍了 assert 在 GoLang 中的使用。在 Go 语言中使用断言:GoLang 不提供对断言的任何内置支持,但我们可以使用来自 Testify API 的广泛使用的第三方包断言。
Go 中的随机数生成
发布时间:2023/04/27 浏览次数:114 分类:Go
-
本篇文章介绍如何在 Go 语言中使用随机数生成功能。Go 中的随机数生成 Go 语言为随机数生成功能提供内置支持。 内置包 math 有方法 rand(),用于随机数生成。