如何访问另一个Struct里面的Struct Array的字段?
我的结构如下: -
type Company struct {
Id bson.ObjectId `bson:"_id,omitempty"`
Company_name string
Admin UserMinimal
Process []ProcessItem
}
type ProcessItemMinimal struct {
Id bson.ObjectId `bson:"_id,omitempty"`
Process_name string
Processtype int64
}
type ProcessItem struct{
ProcessItemMinimal `bson:",inline"`
Sortorder int64
}
我需要在Company结构中的[] ProcessItem中存储一些数据。 数据将是这样的。
ProcessItem[0]=Process_name:"Enquiry",Processtype:0,Sortorder:0}
ProcessItem[1]=Process_name:"Converted",Processtype:1,Sortorder:1}
ProcessItem[2]={Process_name:"Enquiry",Processtype:1,Sortorder:2}
答案 0 :(得分:2)
如果您正在寻找使用composite struct literals设置数据,可以这样做:
company.Process = []ProcessItem{
ProcessItem{
ProcessItemMinimal: ProcessItemMinimal{
Process_name: "Enquiry",
Processtype: 0,
},
Sortorder: 0,
},
ProcessItem{
ProcessItemMinimal: ProcessItemMinimal{
Process_name: "Converted",
Processtype: 1,
},
Sortorder: 1,
},
}
创建结构文字时必须指定ProcessItemMinimal
,因为the Specification表示:
提升字段的作用类似于结构的普通字段,但它们除外 不能在结构的复合文字中用作字段名称。