英文:
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.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论