gpt4 book ai didi

go - 如何获取源代码中的变量名(使用反射)

转载 作者:IT王子 更新时间:2023-10-29 00:45:33 26 4
gpt4 key购买 nike

我正在尝试构建一个易于使用的模板系统。基本上我只想创建一个包含不同变量 ( strings ) 的 slice ,然后遍历 slice 并将标记 {{}} 替换为实际值。因此,如果变量“name”是 onevar,它将在模板中查找 {{onevar}} 并将其替换为实际值变量 。

问题:如何获取变量名?基本上是源代码中的内容。可能吗 ?我已经用反射尝试过一些东西,但似乎我做对了。见下文

onevar := "something"
other := "something else"

var msg string
sa := []string{onevar, other}
for _, v := range sa {
vName := reflect.TypeOf(v).Name()
vName = fmt.Sprintf("{{%s}}", vName)
msg = strings.Replace(msg, vName, v, -1)
}

最佳答案

你不能做这样的事情。该 slice 包含变量,但包含它们的,因此您无法获取它们的名称。只需使用 map 。

关于go - 如何获取源代码中的变量名(使用反射),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24836696/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com