For the following code, I get the error:
type A struct{
B_j []B `json:"A"`
}
type B struct
{
X string
Y string
}
func main() {
xmlFile, _ := os.Open("test.xml")
b, _ := ioutil.ReadAll(xmlFile)
var t root
err2 := xml.Unmarshal(b, &rpc)
if err2 != nil {
fmt.Printf("error: %v", err2)
return
}
for _, name := range t.name{
t := A{B_j : []B{X : name.text, Y: name.type }} // line:#25
s, _ := json.MarshalIndent(t,"", " ")
os.Stdout.Write(s)
}
}
# command-line-arguments
./int2.go:25: undefined: X
./int2.go:25: cannot use name.Text (type string) as type B in array or slice literal
./int2.go:25: undefined: Y
./int2.go:25: cannot use name.type (type string) as type B in array or slice literal
In my output, I am trying to achieve something like this:
{A: {{X:1 ,Y: 2}, {X:2 ,Y: 2}, {X: 2,Y: 2}}}
Struct calling another struct to get the pattern above.
int2.go? Which line is 156? The compiler error is telling you what's wrong, but without any context there's no way for anyone else to help you.