```go
type nameage struct {
name string
age int
}
na:=new(nameage)
(*na).age=25
//na.age=25
(*na).name="ddj"
//na.name="ddj"
fmt.Println((*na).name)
fmt.Println(na.name)```
以上代码,我发现```(*na).age``` 和 ```na.age```的作用是一样的,打印出来的结果也是一样的。
但是从语法上来看,我认为``` (*na).name```才是合法的,因为``` na```是一个指针,```age```和```name```都是```nameage```的成员变量,应该先 ```(*na)```来获取对象,然后再去获取这个对象的成员。
我不知道为什么结果都一样,是go自动处理掉了?还是有其他说法?
有疑问加站长微信联系(非本文作者)