Reflection 使用reflect初始化结构中的所有通道

Reflection 使用reflect初始化结构中的所有通道,reflection,go,Reflection,Go,我有一些结构包含一些字段和一些通道。我设法从映射中动态填充字段,但如何初始化通道?我还需要设置它们的大小 type MyStruct struct { ... Out chan *mypackage.OtherStruct `json:"-"` Quit chan struct{} `json:"-"` } 您可以像初始化任何其他结构字段一样初始化它们。你能举例说明你在哪里遇到了问题吗?structVal

我有一些结构包含一些字段和一些通道。我设法从映射中动态填充字段,但如何初始化通道?我还需要设置它们的大小

type MyStruct struct {
    ...
    Out           chan *mypackage.OtherStruct `json:"-"`
    Quit          chan struct{}               `json:"-"`
}

您可以像初始化任何其他结构字段一样初始化它们。你能举例说明你在哪里遇到了问题吗?
structValue.Field(i).Set(reflect.MakeChan(structValue.Field(i).Type(),1))
解决了这个问题。