慕的地8271018
2023-08-14 17:06:19
有沒有辦法解析或內省從其名稱字符串標識的變量?例如,如果我有一個與strVal := "s"變量名稱相對應的字符串值(例如var s string在同一函數的作用域中),我可以動態查找該s變量的值嗎?我知道如果這些是結構體的字段,我可以使用反射,但對于我的用例,我正在處理不屬于結構體或映射的局部范圍變量。
3 回答

夢里花落0921
TA貢獻1772條經驗 獲得超6個贊
看來您是從結構中提取此信息的。
package main
import (
"fmt"
"reflect"
)
type Article struct {
Id int
Title string
Price float32
Authors []string
}
func main() {
article := Article{}
e := reflect.ValueOf(&article).Elem()
for i := 0; i < e.NumField(); i++ {
name := e.Type().Field(i).Name
varType := e.Type().Field(i).Type
value := e.Field(i).Interface()
fmt.Printf("%v %v %v\n", name, varType, value)
}
}
例子:
https://play.golang.org/p/vWkRzpvWKYn
- 3 回答
- 0 關注
- 186 瀏覽
添加回答
舉報
0/150
提交
取消