我正在尝试初始化一个嵌入式结构。然而编译器说我不能混合值和值初始值设定项。正确的语法是什么?
httpCl 的类型为 *requests.Trans
type clTran struct {
*requests.Trans
uCh chan user
}
func main() {
httpCl, err := requests.tr(px)
clT := clTran{httpCl, uCh: uCh}
}
最佳答案
如果您在结构体文字中标记字段(通常应该这样做),则所有这些字段都需要标记。在嵌入的情况下,字段采用其类型的名称。所以
clT := clTran {
Trans: httpCl,
uCh: uCh,
}
请注意,该字段名称也适用于访问和写入,clT.Trans = httpCl
有效并将写入嵌入字段。
关于struct - 如何定义嵌入/匿名字段(go struct ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25491053/