![](/img/trans.png)
[英]How to set composite type array containing JSONB elements with a literal value?
[英]“missing type in composite literal” in golang
鑒於這些結構:
type InitRequest struct {
ListenAddr string
ForceNewCluster bool
Spec Spec
}
type Spec struct {
Annotations
AcceptancePolicy AcceptancePolicy `json:",omitempty"`
//...
}
type AcceptancePolicy struct {
Policies []Policy `json:",omitempty"`
}
type Policy struct {
Role NodeRole
Autoaccept bool
Secret *string `json:",omitempty"`
}
該代碼無法編譯,在該行上以復合文字中的缺少類型退出。 跟隨Go,Golang:結構內部的數組類型,缺少復合文字 ,但是相同的錯誤:
swarm, err := cli.SwarmInit(context.Background(), swarm.InitRequest{
ListenAddr: "0.0.0.0:2377",
ForceNewCluster: true,
Spec: {
AcceptancePolicy: {
Policies: []Policy{
Policy: {
Role: "manager",
Autoaccept: true,
},
},
}, // here
},
})
任何提示都會非常有幫助,謝謝!
我發現您的代碼存在一些問題:
AcceptancePolicy
中的“您的政策”字段是切片而不是地圖 AcceptancePolicy
或Spec
的類型。 Role
是NodeRole
,而不是字符串 這是實現了上述修復的代碼:
mySwarm, err := cli.SwarmInit(context.Background(), swarm.InitRequest{
ListenAddr: "0.0.0.0:2377",
ForceNewCluster: true,
Spec: swarm.Spec{
AcceptancePolicy: swarm.AcceptancePolicy{
Policies: []swarm.Policy{
{
Role: some.conversion.to.NodeRole("manager"),
Autoaccept: true,
},
},
}, // here
},
})
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.