用struct的一个奇怪问题

hsyan2008 · · 1726 次点击
正确代码:(跟你说了变量t是栈上临时变量) package main import "fmt" func main() { a := &A{} a.update() fmt.Printf("%v\n", a) } type A struct { b string } func (a *A) update() { t := []A{A{b: "1"}, A{b: "2"}, A{b: "3"}} //代表随便三个非空对象 a.b = t[0].b fmt.Printf("update %v\n", a) //打印出来是非空对象 return }
#7
更多评论
&{1} //打印出来是非空对象 是函数栈空间a = &t[0]赋值了啊
#1
我的问题在于打印出来是空的那个
#2