1. 首页
  2. 主题
  3. Go基础

用struct的一个奇怪问题

hsyan2008 · · 2293 次点击
请教个问题,代码如下: ```go package main import "fmt" func main() { a := &A{} a.update() fmt.Println(a) //这里为什么打印出来是空对象 } type A struct { b string } func (a *A) update() { t := []A{A{b: "1"}, A{b: "2"}, A{b: "3"}} //代表随便三个非空对象 a = &t[0] fmt.Println(a) //打印出来是非空对象 return } ``` 执行结果 ```go &{1} //打印出来是非空对象 &{} //这里为什么打印出来是空对象 ```
package main import "fmt" func main() { a := &A{} a.update() fmt.Printf("adress %v\n", &a) } type A struct { b string } func (a *A) update() { t := []A{A{b: "1"}, A{b: "2"}, A{b: "3"}} //代表随便三个非空对象 a = &t[0] fmt.Printf("update adress %v\n", &a) //打印出来是非空对象 return } 地址不一样
#6
更多评论
&{1} //打印出来是非空对象 是函数栈空间a = &t[0]赋值了啊
#1
我的问题在于打印出来是空的那个
#2

用户登录

没有账号?注册

今日阅读排行

    加载中

一周阅读排行

    加载中