Variable defined in Golang

huangapple go评论75阅读模式
英文:

Variable defined in Golang

问题

我创建了一个类型为RespData的变量:

var RespData []ResponseData

type ResponseData struct {
   DataType       string      
   Component      string      
   ParameterName  string      
   ParameterValue string      
   TableValue     *[]Rows 
}

type TabRow struct {
   ColName     string 
   ColValue    string 
   ColDataType string 
}

type Rows *[]TabRow

我想要填充TableValue,它的类型是*[]Rows。你能否给我一个例子,将任意值分配给TableValue

英文:

I create a var of type

var RespData   []ResponseData

type ResponseData struct {
   DataType       string      
   Component      string      
   ParameterName  string      
   ParameterValue string      
   TableValue     *[]Rows 
}

type TabRow struct {
   ColName     string 
   ColValue    string 
   ColDataType string 
}

type Rows *[]TabRow

I want to fill TableValue of type *[]Rows.
Can you please tell me with an example by assigning any values in the TableValue.

答案1

得分: 1

Slices是引用类型(它已经是一种指针的一种),所以你不需要一个指向切片的指针(*[]Rows)。

你可以使用切片的切片,例如TableValue []Rows,其中Rows是指向TabRow的指针的切片:Rows []*TabRow

tr11 := &TabRow{ColName: "cname11", ColValue: "cv11", ColDataType: "cd11"}
tr12 := &TabRow{ColName: "cname12", ColValue: "cv12", ColDataType: "cd12"}
row1 := Rows{tr11, tr12}
rd := &ResponseData{TableValue: []Rows{row1}}
fmt.Printf("%+v", rd)

可以参考这个示例

英文:

Slices are reference type (it is already a kind of pointer), so you don't need a pointer to a slice (*[]Rows).

You can use a slice of slices though TableValue []Rows, with Rows being a slice of pointers to TabRow: Rows []*TabRow.

tr11 := &TabRow{ColName: "cname11", ColValue: "cv11", ColDataType: "cd11"}
tr12 := &TabRow{ColName: "cname12", ColValue: "cv12", ColDataType: "cd12"}
row1 := Rows{tr11, tr12}
rd := &ResponseData{TableValue: []Rows{row1}}
fmt.Printf("%+v", rd )

See this example.

huangapple
  • 本文由 发表于 2015年3月17日 14:29:49
  • 转载请务必保留本文链接:https://go.coder-hub.com/29092658.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定