Go 初始化第三方库的结构片
我想初始化一个结构片(结构类型为Go 初始化第三方库的结构片,go,Go,我想初始化一个结构片(结构类型为&dns.ResourceRecordSet),其中dns是google云dns库。我正在尝试这样的东西 rr := []*gcp.ResourceRecordSet { }{ &gcp.ResourceRecordSet{ Name: "example.gcp.com", Ttl: 21600, Type: "NS",
&dns.ResourceRecordSet
),其中dns是google云dns库。我正在尝试这样的东西
rr := []*gcp.ResourceRecordSet {
}{
&gcp.ResourceRecordSet{
Name: "example.gcp.com",
Ttl: 21600,
Type: "NS",
Rrdatas: []string{"ns-cloud-c1.googledomains.com.", "ns-cloud-c2.googledomains.com.", "ns-cloud-c3.googledomains.com.", "ns-cloud-c4.googledomains.com."},
},
&gcp.ResourceRecordSet{
Name: "example.gcp.com",
Ttl: 21600,
Type: "NS",
Rrdatas: []string{"ns-cloud-c1.googledomains.com.", "ns-cloud-c2.googledomains.com.", "ns-cloud-c3.googledomains.com.", "ns-cloud-c4.googledomains.com."},
},
}
但是我得到一个错误,说expected';',在第二行的大括号中找到“{”
正确的语法是什么?您有一个额外的
}{
您不应该有,代码应该如下所示:
rr := []*gcp.ResourceRecordSet {
&gcp.ResourceRecordSet{
Name: "example.gcp.com",
Ttl: 21600,
Type: "NS",
Rrdatas: []string{"ns-cloud-c1.googledomains.com.", "ns-cloud-c2.googledomains.com.", "ns-cloud-c3.googledomains.com.", "ns-cloud-c4.googledomains.com."},
},
&gcp.ResourceRecordSet{
Name: "example.gcp.com",
Ttl: 21600,
Type: "NS",
Rrdatas: []string{"ns-cloud-c1.googledomains.com.", "ns-cloud-c2.googledomains.com.", "ns-cloud-c3.googledomains.com.", "ns-cloud-c4.googledomains.com."},
},
}
您正在使用结构文字的(地址)元素创建一个切片文字。切片文字如下所示:
rr := []TYPE{
element,
element,
}
相反,你有
rr := []TYPE{
}{
element,
element,
}
删除第二行
}{
。在列出元素时,可以省去&
运算符和结构类型,这是从文本类型中知道的。