ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、视频、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
## 一、实例 ~~~ package main import ( "reflect" "fmt" ) //结构体 type User struct { Id int Name string Age int } //反射修改结构体的值 func SetValue(o interface{}) { //获取值类型 v := reflect.ValueOf(o) //获取指针指向的元素 v = v.Elem() //修改User的Name f := v.FieldByName("Name") //Kind()是判断字段类型 if f.Kind() == reflect.String { f.SetString("wangwu") } } func main() { u := User{1, "lisi", 22} SetValue(&u) fmt.Println(u) } ~~~ 打印结果: {1 wangwu 22}