【发布时间】:2018-06-25 07:36:25
【问题描述】:
考虑以下 Go 结构:
type Person struct {
Name string
Age int
Country string
}
我遇到过无数次如下使用:
p := &Person{"Adam", 33, "Argentina"}
但我看不出指向结构值的意义,我想知道它与:
n := &999 // Error
我的问题是:
-
怎么可能指向一个值,即使它是一个结构或数组,而不是像字符串或 int 这样的原始类型?很奇怪,以下内容对我的理解没有帮助:
fmt.Println(p, &p) // outputs: &{Adam 33 Argentina} 0xc042084018 为什么程序员要通过指针声明结构实例?这样做你能取得什么成就?
【问题讨论】:
标签: pointers go struct reference