go - Go中嵌套结构的问题

标签 go struct

我有两个结构 A & B 和一个带有 A & B 的嵌套结构 C,定义如下:

结构 A:

type Source_a struct{
        Sname string
        price float64
        Qty int
    } 

结构 B:
type Source_b struct{
        Sname2 string
        price2 float64
        Qty2 int
        }

嵌套结构 C :
type Data struct{

    S_a []Source_a
    S_b []Source_b 
}

我已经声明了 Source_a 和 Source_b 类型 var 并从 DB 派生并分配了值。结构 A 的示例代码:
//Post DB query
sks := make([]Source_a, 0)
for rows.Next(){
sk := Source_a{}
err := rows.Scan(&sk.Sname, &sk.Uprice, &sk.Qty)
sks = append(sks, sk)

我在将 Struct A & B 的值绑定(bind)到 Struct C 时遇到了麻烦。我正在尝试一些东西,但它抛出了错误,很确定这不是正确的方法:
td := Data{
      S_a: []Source_a{
           Source_a{
           Sname:sks.Sname,
           Uprice:sks.Uprice,
           Qty:sks.Qty,
           },
         },
      S_b: []Source_b{
           Source_b{
           Sname2: sks2.Sname2,
           Uprice2: sks2.Uprice2,
           Qty2: sks2.Qty2,
           },
        },              
    },

你能帮忙吗,我是Golang的新手。如果您需要澄清或细节,请告诉我。

最佳答案

skssks2看起来像 slice ,您将它们用作变量。你可以做

td := Data{
      S_a: sks,
      S_b: sks2,             
}

关于go - Go中嵌套结构的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61312821/

相关文章:

Golang 中的结构文字

mongodb - Golang/mgo : How can I store ISODate by GMT+8 Time Zone in mongodb?

excel - golang将excel表格转换为结构

c - 如何在while循环中使用结构数组

C#:将简单结构列表转换为 byte[]

转到不匹配的类型 uint64 和 int32

unicode - 将普通空格/空格转换为不间断空格?

c - C 中结构体指针的大小是多少?

c - 使用 Structs 来保存我在 C 游戏中的所有变量?

pointers - 调用结构函数给出 "cannot refer to unexported field or method"