gpt4 book ai didi

go - 如何给结构体的 slice 赋值

转载 作者:IT王子 更新时间:2023-10-29 02:27:17 28 4
gpt4 key购买 nike

我正在为我的方法使用表驱动测试,但在将值分配给结构数组字段时出现错误,情况如下所示。

var validStats = []struct{
status []v1.ReplicaStatus
}{
{
status: []v1.ReplicaStatus {
IP string
Status string
DataUpdateIndex string
}{
{
IP: "10.10.10.10",
Status: "Online",
DataUpdateIndex: "1",
},
{
IP: "10.10.10.11",
Status: "Online",
DataUpdateIndex: "1",
},
},
}
}

我在第 6 行和代码末尾收到错误 missing ',' in composite literal。这有什么问题?

最佳答案

您使用的是命名类型 (ReplicaStatus),但无论如何都试图定义您的结构字段:

 status: []v1.ReplicaStatus {
IP string
Status string
DataUpdateIndex string
}{

不要那样做。相反,这样做:

 status: []v1.ReplicaStatus{
{
IP: "10.10.10.10",
Status: "Online",
DataUpdateIndex: "1",
},
{
IP: "10.10.10.11",
Status: "Online",
DataUpdateIndex: "1",
},
}

如果您使用未命名的类型,您应该只在此上下文中定义字段名称,如:

status := []struct { // Notice this is now an anonymous struct type
IP string
Status string
DataUpdateIndex string
}{
{
IP: "10.10.10.10",
Status: "Online",
DataUpdateIndex: "1",
},
{
IP: "10.10.10.11",
Status: "Online",
DataUpdateIndex: "1",
},
}

关于go - 如何给结构体的 slice 赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48186467/

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