在 Golang 中,我们能否将某些字符串值声明为变量名?

3
我将翻译如下:

我有一些变量名称的切片

例如

strList := ['abcd', 'efgh', 'ijkl']

我希望将一些字符串转换为变量名(以使一些对象可迭代),请问我应该如何在代码中实现呢?例如strList[0]这样的方式貌似不被允许...

感谢您的帮助!


1
请提供更多的代码,还有错误信息吗? - Eve Freeman
5
你是否试图使用包含变量名称的字符串来获取对该变量指针的引用?如果是这样,在Go语言中是不可能实现的,因为标识符不会在运行时被解析。 - krait
2个回答

1

由于您的字符串将在运行时读取,而变量名称将在编译时检查,因此可能无法基于字符串创建变量名称。

但是,您可以创建一个使用字符串键存储值的映射表。例如,如果您想在可用值为"abcd""efgh"等情况下保存整数值,则应声明:

myMap := map[string]int {
  "abcd": 1,
  "efgh": 2,
  "ijkl": 3,
}

你可以使用myMap["abcd"] // 1来读取这些值。


-5

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接