例如,我有一个从外面采取的结构。我不知道字段和字段值中的结构。我想复制并使用相同的结构。 通过反射,我可以找到其中的字段和类型。但是如何在运行时?
中创建此结构编辑:我只想创建一个与运行时同名的结构。想象一下,我不知道我的人格类型。我只想通过界面反射创建相同的结构。 我只知道一个界面。 Person struct我刚刚创建了它。当一个人创建一个结构并将其发送出去时,我将创建它。而不是人,客户,学生等。你可以发送。 将以下代码视为第三方库。
package main
import(
"fmt"
"reflect"
)
type Person struct {
Id int
Name string
Surname string
}
func main(){
person := NewSomething()
newPerson := typeReflection(person)
ChangePerson(newPerson)
fmt.Println("Success")
}
func typeReflection(_person interface{}){
val := reflect.ValueOf(_person)
//How to create same struct
}