使用匿名成员初始化结构的常规方法如下:
package main
import "fmt"
type AA struct {
int
xx string
}
func main() {
a := &AA{
int : 1,
xx : "2",
}
fmt.Println(a) // &{1 2}
}
但是,如果类型是指针,则不能再执行此操作
package main
import "fmt"
type AA struct {
*int
xx string
}
func main() {
i := 1
a := &AA{
*int : &i,
xx : "2",
}
fmt.Println(a)
}
// .\hello.go:14: invalid field name *int in struct initializer
还有更好的方法吗?
答案 0 :(得分:1)
*int
字段的名称只是int
:
package main
import "fmt"
type AA struct {
*int
xx string
}
func main() {
i := 1
a := &AA{
int: &i,
xx: "2",
}
fmt.Println(a)
}