我有这样的结构:
type AutoGenerated struct { Accounting []struct { FirstName string `json:"firstName"` LastName string `json:"lastName"` Age int `json:"age"` } `json:"accounting"` Sales []struct { FirstName string `json:"firstName"` LastName string `json:"lastName"` Age int `json:"age"` } `json:"sales"`
}
我想像这样给它赋值:-
data := AutoGenerated{}
data.Accounting.LastName = "Apple2"
data.Accounting.FirstName = "Apple1"
data.Accounting.Age = 20
data.Sales.LastName = "Ball2"
data.Sales.FirstName = "Ball1"
data.Sales.Age = 30
但是正在给出错误,即 data.Accounting.LastName undefined
尽管相同的代码可以正常工作
type AutoGenerated struct { FirstName string `json:"firstName"` LastName string `json:"lastName"` Age int `json:"age"` }
我在这里分配的值是这样的:-
data := AutoGenerated{}
data.LastName = "Apple2"
data.FirstName = "Apple1"
data.Age = 20
请不要手动赋值,我必须从其他函数中获取值。
最佳答案
你的内部结构是 slice 。要么使用这个:
type AutoGenerated struct {
Accounting struct {
FirstName string `json:"firstName"`
LastName string `json:"lastName"`
Age int `json:"age"`
} `json:"accounting"`
Sales struct {
FirstName string `json:"firstName"`
LastName string `json:"lastName"`
Age int `json:"age"`
} `json:"sales"`
或者如果您需要每个结构有多个 Sale 或 Accounting,那么您必须初始化 slice 并通过索引引用它们。
关于json - 如果具有相同的对象,则在 Golang 中初始化嵌套结构定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38501646/