无法在go中声明嵌入式结构的字段

在go名为kubesecretsPkgI 的包中声明了以下两种结构类型:


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,

        }


这失败如下:

http://img4.mukewang.com/62a6f6dd000164f907840229.jpg

为什么我无法直接初始化嵌入式结构?



慕莱坞森
浏览 98回答 1
1回答

慕容3067478

正确的语法是   kSetOpts := kubesecretsPkg.KubesecretsSetOpts{        KubesecretsOpts: kubesecretsPkg.KubesecretsOpts{            FullPathToRepo: fullPathToRepo,            FullPathToApp:  fullPathToApp,        },        Variable: variable,        Value:    value,    }即使在此范围内,结构中字段的名称也是“KubesecretsOpts”,但该字段的类型是 kubesecretsPkg.KubesecretsOpts。由于此范围内的先前事实,您收到“无效的字段名称”错误。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go