如何在golang中创建struct运行时

时间:2018-02-20 12:29:03

标签: go struct reflection

例如,我有一个从外面采取的结构。我不知道字段和字段值中的结构。我想复制并使用相同的结构。 通过反射,我可以找到其中的字段和类型。但是如何在运行时

中创建此结构

编辑:我只想创建一个与运行时同名的结构。想象一下,我不知道我的人格类型。我只想通过界面反射创建相同的结构。 我只知道一个界面。 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

}



0 个答案:

没有答案