package main
import "fmt"
func main() {
p1 := Person{"王二狗",30, "男", "北京市"}
fmt.Printf("%p,%T\n",&p1,p1) //0xc00006a040(结构体变量的内存地址) main.Person(结构体变量的类型)
fmt.Println(p1) //{王二狗 30 男 北京市}(结构体变量的值)
fmt.Println(&p1) //&{王二狗 30 男 北京市}
fmt.Println("#######")
//pp2 := new(Person)
var pp2 = &p1
fmt.Printf("%p,%T\n", pp2, pp2) //0xc00006a040(指针变量存储的指针地址)*main.Person(指针变量的类型)
fmt.Printf("%p\n", &pp2) //0xc00000e030(格式化输出指针变量自己的内存地址)
fmt.Println(pp2) //&{王二狗 30 男 北京市}(指针变量直接输出)
fmt.Println(&pp2) //0xc00000e030(直接输出指针变量自己的内存地址)
fmt.Println(*pp2) //{王二狗 30 男 北京市}(输出指针变量存储的指针地址指向的数据)
fmt.Println("#######")
fmt.Println("#######")
}
type Person struct {
name string
age int
sex string
address string
}
01-18
6693
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
04-23
2623
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
01-31
2574
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
01-12
1902
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
04-22
1105
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)