我想初始化一个结构片(这些结构的类型为&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 ';', found '{'
时出错。
正确的语法是什么?
答案 0 :(得分:1)
您应该拥有多余的}{
,代码应如下所示:
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,
}