Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将扳手行字段解码为嵌套结构golang_Go_Struct_Google Cloud Spanner - Fatal编程技术网

将扳手行字段解码为嵌套结构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