创建类对象在Go语言中表现为创建一个结构体变量
可以定义一个工厂函数 专门负责初始化结构体(类)变量
类似于C++的构造函数
Go语言支持返回局部变量的地址
Go语言编译器会自动决定是否分配到内存堆区
为结构体定义方法(C++中的成员函数)
在函数名(代码示例中是print)之前指出函数的接收者
函数的接收者是一个额外的参数
指明该函数属于哪一个结构体(类)的方法
如果是值接收者
会拷贝一个结构体(类)变量(代码示例中是treeNode)给函数
如果涉及修改结构体(类)变量中的成员值
则必须使用指针接收者 (代码示例中是*treeNode)
指针接收者 会把treeNode底层地址给函数
Go语言中的 . 可以解释为C++的 ->
此外 结构体过大也要考虑使用指针接收者 减少拷贝变量对资源的消耗