将扳手行字段解码为嵌套结构golang
我有两个结构将扳手行字段解码为嵌套结构golang,go,struct,google-cloud-spanner,Go,Struct,Google Cloud Spanner,我有两个结构 type Row struct{ ID string Status string details Details } type Details struct{ SessionID string Location string Project string } 我得到这样的数据 Select a.ID, a.Status, b.SessionID, b.Location, b.Project from table1 as a left join tabl
type Row struct{
ID string
Status string
details Details
}
type Details struct{
SessionID string
Location string
Project string
}
我得到这样的数据
Select a.ID, a.Status, b.SessionID, b.Location, b.Project from table1 as a left join table2 as b on a.ID == b.SessionID
现在,为了获得一行中的所有select信息,我需要更改结构并在其中添加字段,而不是一个结构(详细信息),它实际上是复制行中的字段和详细信息(我还需要用于其他目的)
但是,有没有一种简化的方法来获取数据,而不必在struct中复制字段或在panner.row.Column中指定每个字段?我了解到,span.row.ToStruct不支持目标结构将struct作为字段,因为这不是受支持的列类型,但有什么更好的解决方法
谢谢 我没有直接使用谷歌云扫描仪,但从Go语言的角度来看,如何嵌入结构 i、 e:
类型行结构{
ID字符串
状态字符串
细节
}
类型详细信息结构{
会话ID字符串
位置字符串
项目字符串
}
r:=行{}
扳手行至结构(&r)
我没有直接使用谷歌云扫描仪,但从Go语言的角度来看,如何嵌入结构
i、 e:
类型行结构{
ID字符串
状态字符串
细节
}
类型详细信息结构{
会话ID字符串
位置字符串
项目字符串
}
r:=行{}
扳手行至结构(&r)
这个建议应该有效。您可以创建一个组合结构,并将其传递到行.ToStruct
方法中。此建议应该有效。您可以创建一个组合结构并将其传递到Row.ToStruct
方法中。
type Row struct{
ID string
Status string
SessionID string
Location string
Project string
}
r := Row{}
spanner.row.ToStruct(&r) // this works