为了账号安全,请及时绑定邮箱和手机立即绑定

我如何编写一个函数来处理不同类型

我如何编写一个函数来处理不同类型

Go
慕虎7371278 2021-08-23 15:58:22
鉴于以下示例,是否有可能创建一个可以逐字复制(不仅是获取reflect.Type)实际类型以进行进一步操作的函数?我知道 go 是静态类型的,虽然我可以将任何结构传递给定义接口参数的函数非常酷,但我是否有机会以相反的方式做更多的事情?我已经查看了reflect包,但只找到了返回reflect.Type或reflect.Value的东西。我使用了返回新的reflect.Value 的New() 方法 - 在那里我无法设置任何字段。也许对反射包有经验的人可以告诉我这是否绝对可行 - 或者是否有另一种方法可以做到。package mainimport "fmt"type User struct {    Name string}func main() {    user := User{Name:"FooBar"}    DoSomethingGenericWithStruct(user)}func DoSomethingGenericWithStruct(i interface{}) {    // access fields of i ...    // or create slice of type of i ([]User) ...    // or instantiate new object of type of i (new User) ...    // ...}
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 155 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信