目前赋值是先判断类型,然后赋值,简化如下
switch v.Field(i).Kind() {
case reflect.String:
v.Field(i).SetString(value)
case reflect.Int:
temp,_:=strconv.Atoi(value)
v.Field(i).SetInt(int64(temp))
}
为啥不能直接这样
v.Field(i).Set(reflect.ValueOf(value))
Value提供Set方法的目的是什么?
有疑问加站长微信联系(非本文作者)

看了下我的configloader的核心代码
可以用啊,跑了好多个项目好久了
爬了我自己的代码,直接walkstruct然后 Set的,没用过SetString和SetInt方法
哦哦,我有个类型搞错了,感谢 ^-^