gpt4 book ai didi

go - 如何动态解析或自检变量

转载 作者:行者123 更新时间:2023-12-01 22:26:44 24 4
gpt4 key购买 nike

有没有一种方法可以解析或自检从其名称字符串识别的变量?

例如,如果我有一个字符串值strVal := "s",它对应于同一函数中的变量名,例如var s string
的范围,我可以动态查找s变量的值吗?

我知道这些是否是结构的字段,我可以使用反射,但是对于我的用例,我正在处理不属于结构或映射的局部范围内的变量。

最佳答案

似乎您从结构云中提取了此信息。

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

关于go - 如何动态解析或自检变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59516527/

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