gpt4 book ai didi

go - 如何在 Golang 中为嵌套数组结构初始化变量?

转载 作者:数据小太阳 更新时间:2023-10-29 03:44:52 25 4
gpt4 key购买 nike

我在 Golang 中解析一个 JSON 文件,通过创建一个嵌套结构,并且能够成功完成。但是,现在我想创建一个具有相同结构的变量,但出现以下错误 cannot use []Specs literal (type []Specs) as type []Specs in field value。有人可以在这里指出我的错误吗?我做错了什么?

这是嵌套结构:

type Config struct {
OrdererOrgs []OrdererOrgs `json:"OrdererOrgs"`
PeerOrgs []PeerOrgs `json:"PeerOrgs"`
}

type OrdererOrgs struct {
Name string `json:"name"`
Domain string `json:"Domain"`
Specs []Specs `json:"Specs"`
}

type Specs struct {
Hostname string `json:"Hostname"`
Commonname string `json:"Commonname"`
}

type PeerOrgs struct {
Name string `json:"name"`
Domain string `json:"Domain"`
Template Template `json:"Template"`
Users Users `json:"Users"`
}

type Template struct {
Count int `json:"Count"`
Start int `json:"Start"`
}

type Users struct {
Count int `json:"Count"`
}

这是我的变量:

newconfig:= Config{
OrdererOrgs: []OrdererOrgs{
OrdererOrgs{
Name: "Orderer1",
Domain : "Domain",
Specs: []Specs{
Specs{
Hostname: "H",
Commonname: "C",
},
Specs{
Hostname: "H",
Commonname: "C",
},
},
},
OrdererOrgs{
Name: "Orderer2",
Domain : "Domain2",
Specs: []Specs{
Specs{
Hostname: "H",
Commonname: "C",
},
},
},
},
PeerOrgs: []PeerOrgs{
PeerOrgs{
Name: "Org1",
Domain: "D",
Template: Template{
Count: 1,
Start: 0,
},
Users: Users{
Count: 1,
},
},
PeerOrgs{
Name: "Org2",
Domain: "D2",
Template: Template{
Count: 1,
Start: 0,
},
Users: Users{
Count: 1,
},
},
},
}

最佳答案

欢迎来到 StackOverflow!正如 Volker 在评论中所说,您的代码似乎可以正常工作。你确定你现在看到了这个问题吗?你能运行 Volker 提供的 playground 链接吗?

一般来说,这在 Go 中是可能的,通过 composite literals feature ;该链接有几个有用的示例以及您可能会感兴趣的语义讨论。如果某些东西停止工作,我建议逐步构建更复杂的结构,直到您看到问题出在哪里,直到您达到应用程序所需的嵌套级别。

关于go - 如何在 Golang 中为嵌套数组结构初始化变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54199792/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com