在go
名为kubesecretsPkg
I的包中声明以下两种结构类型:
type KubesecretsOpts struct {
FullPathToRepo string
FullPathToApp string
}
type KubesecretsSetOpts struct {
KubesecretsOpts
Variable string
Value string
}
我正在尝试KubesecretsSetOpts
在另一个包中初始化一个外部 ( ),如下所示:
kSetOpts := kubesecretsPkg.KubesecretsSetOpts{
kubesecretsPkg.KubesecretsOpts: {
FullPathToRepo: fullPathToRepo,
FullPathToApp: fullPathToApp,
},
Variable: variable,
Value: value,
}
这失败如下:
为什么我不能直接初始化嵌入式结构?
正确的语法是
kSetOpts := kubesecretsPkg.KubesecretsSetOpts{
KubesecretsOpts: kubesecretsPkg.KubesecretsOpts{
FullPathToRepo: fullPathToRepo,
FullPathToApp: fullPathToApp,
},
Variable: variable,
Value: value,
}
即使在这个范围内,结构中字段的名称也是“KubesecretsOpts”,但是字段的类型是 kubesecretsPkg.KubesecretsOpts。由于此范围内的先前事实,您收到“无效字段名称”错误。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句