struct - 如何定义嵌入/匿名字段(go struct )

标签 struct go literals

我正在尝试初始化一个嵌入式结构。然而编译器说我不能混合值和值初始值设定项。正确的语法是什么? 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/

相关文章:

c - 无法正确地将十六进制字节打包到无符号字符数组或指针中

c - 将内存区域视为结构数组时的对齐注意事项

c# - 为什么 C# 可以在运行时处理这种明显愚蠢的对象提升?

C 结构中的两个数组

go - 带参数的 Dialogflow 响应

go - Couchbase GoLang 客户端找不到存储桶

Ruby 一元代字号 (`~` ) 方法

algorithm - 应用引擎 : use memcache counter

python - Python 中的类型提示特定字符​​串列表

c++ - 字符串文字的最大长度?