英文:
How to Init a pointer of struct in a struct properly in Golang
问题
我有一个生成的结构体,看起来像这样:
type a_weird_struct struct {
a *string
b *string
c *struct {
d *int
e *int
f *int
}
}
如何正确初始化这个结构体?特别是结构体指针 c
。
英文:
I have a generated struct that looks like this:
type a_weird_struct struct {
a *string
b *string
c *struct {
d *int
e *int
f *int
}
}
What is the proper way to initialize this struct? Specifically, the struct pointer c
.
答案1
得分: 1
尝试像这样初始化指针:
func initPointer() {
astr, bstr := "xxxx", "yyyy"
dint, eint, fint := 1, 2, 3
x := &a_weird_struct{
a: &astr,
b: &bstr,
c: &(struct {
d *int
e *int
f *int
}{
d: &dint,
e: &eint,
f: &fint,
}),
}
fmt.Println(x)
}
请注意,这只是一个示例代码,具体的上下文可能会有所不同。
英文:
try to init pointer like this
func initPointer() {
astr, bstr := "xxxx", "yyyy"
dint, eint, fint := 1, 2, 3
x := &a_weird_struct{
a: &astr,
b: &bstr,
c: &(struct {
d *int
e *int
f *int
}{
d: &dint,
e: &eint,
f: &fint,
}),
}
fmt.Println(x)
}
答案2
得分: -1
func PointOf[T any](value T) *T {
return &value
}
a_weird_struct{
a: PointOf("a"),
b: PointOf("b"),
c: &struct{d *int; e *int; f *int}{
PointOf(1),
PointOf(2),
PointOf(3),
},
}
func PointOf[T any](value T) *T {
return &value
}
a_weird_struct{
a: PointOf("a"),
b: PointOf("b"),
c: &struct{d *int; e *int; f *int}{
PointOf(1),
PointOf(2),
PointOf(3),
},
}
英文:
func PointOf[T any](value T) *T {
return &value
}
a_weird_struct{
a: PointOf("a"),
b: PointOf("b"),
c: &struct{d *int; e *int; f *int}{
PointOf(1),
PointOf(2),
PointOf(3),
},
}
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论