首页 > 编程笔记 > Go语言笔记 阅读:213

Go语言结构体指针的用法

通义灵码
在 Go 语言中,实例化结构体的时候,可以使用内置函数方法 new() 和取地址操作符“&”实现,这两种实例化方法都是由指针方式完成的,在访问成员的时候也是使用实心点,但编译器自动将其转换为 (*yyy).xxx 形式访问。

下面的实例演示了结构体指针的真正使用方法。
  1. package main
  2.  
  3. import "fmt"
  4.  
  5. // 定义结构体person
  6. type person struct {
  7. name string
  8. age int
  9. }
  10.  
  11. func main() {
  12. // 使用new()实例化结构体
  13. var p3 *person = new(person)
  14. // 对结构体成员进行赋值操作
  15. (*p3).name = "LiLy"
  16. (*p3).age = 28
  17. // 由实例化变量p3访问成员
  18. fmt.Printf("结构体成员name的值:%v\n", p3.name)
  19. fmt.Printf("结构体成员age的值:%v\n", p3.age)
  20.  
  21. // 取结构体的地址实例化
  22. var p4 *person = &person{}
  23. // 对结构体成员进行赋值操作
  24. (*p4).name = "Mary"
  25. (*p4).age = 16
  26. // 由实例化变量p4访问成员
  27. fmt.Printf("结构体成员name的值:%v\n", p4.name)
  28. fmt.Printf("结构体成员age的值:%v\n", p4.age)
  29. }
从上述代码看到,指针方式的实例化过程如下:
最后运行上述代码,运行结果为:

结构体成员name的值:LiLy
结构体成员age的值:28
结构体成员name的值:Mary
结构体成员age的值:16

相关文章