1. 首页
  2. 主题
  3. Go基础

反射问题

gs272 · · 3568 次点击
下面这段代码运行不了,是什么原因? 错在最后一行,应该怎么写? package main import ( "fmt" "reflect" ) type person struct { Name string } func main() { u := person{"Li"} info(u) fmt.Println(u) } func info(o interface{}) { v := reflect.ValueOf(o) v.Elem().FieldByName("Name").SetString("Wang") }
我晕了,昨晚这样试过了,怎么会不行? 感谢站长!
#2
更多评论
polaris
社区,需要你我一同完善!
改为: u := &person{"Li"} 就可以了。 具体原因可以参考 http://docs.studygolang.com/pkg/reflect/#Value.CanSet
#1

用户登录

没有账号?注册

今日阅读排行

    加载中

一周阅读排行

    加载中