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))
解决了这个问题。