Reflection 如何使用reflect按名称获取包常量值?
它是一个包含一些常量的包Reflection 如何使用reflect按名称获取包常量值?,reflection,go,Reflection,Go,它是一个包含一些常量的包 package object type Languaege int const ( Javascript Languaege = iota C Cpp Shell ) //======================================== 如果我知道类型语言的名称,如何获取其值 package main func GetConstByName(name String) { .... } lang := GetC
package object
type Languaege int
const (
Javascript Languaege = iota
C
Cpp
Shell
)
//========================================
如果我知道类型语言的名称,如何获取其值
package main
func GetConstByName(name String) {
....
}
lang := GetConstByName("Shell")
你在试图滥用反思。在这种情况下,幸运的是,它不会起作用。如果要将字符串键映射到某些关联的值,请改用
map[string]someValueType
你试图滥用反思。在这种情况下,幸运的是,它不会起作用。如果要将字符串键映射到某些关联的值,请改用map[string]someValueType
如果希望语言
保持为常量
整数类型,我认为你只能手工操作
下面是我将要做的-使语言实现,这意味着您也可以打印它。然后可以反转languageMap
将语言字符串转换为language
这个输出
C is 1: C: 1
Shell is 3: Shell: 3
如果你想
Language
保持const
整数类型,我认为你只能手工操作
下面是我将要做的-使语言实现,这意味着您也可以打印它。然后可以反转languageMap
将语言字符串转换为language
这个输出
C is 1: C: 1
Shell is 3: Shell: 3
你怎么知道他是否试图滥用反思?你怎么知道他是否试图滥用反思?