我正在设计配置组件,我想为go结构上的每个字段设置ENV变量。
例如
type SubStruct struct {
Field int `env:"ENV_INT"`
}
type Config struct {
Name string `env:"APP_NAME"`
Sub1 struct {
Sub11 struct {
Value string `env:"ENV_VAR"`
}
Sub12 SubStruct
}
}
我想要实现的是:
env
键的值所以基本上有两个问题:
go中是否有任何库可以公开使用反射设置值的方法(例如json包中的私有方法)?
go中是否有任何方法/函数可以递归解析结构并从结构中获取所有标记?
编辑: -更新的结构 -重命名混乱的字段名称(从嵌入到子字段)