创建类对象在Go语言中表现为创建一个结构体变量

        可以定义一个工厂函数 专门负责初始化结构体(类)变量

        类似于C++的构造函数

Go语言支持返回局部变量的地址

         Go语言编译器会自动决定是否分配到内存堆区

为结构体定义方法(C++中的成员函数)
        在函数名(代码示例中是print)之前指出函数的接收者

        函数的接收者是一个额外的参数

        指明该函数属于哪一个结构体(类)的方法
        如果是值接收者

        拷贝一个结构体(类)变量(代码示例中是treeNode)给函数

        如果涉及修改结构体(类)变量中的成员值

        则必须使用指针接收者 (代码示例中是*treeNode

        指针接收者 会把treeNode底层地址给函数


        Go语言中的 . 可以解释为C++的 ->
        此外 结构体过大也要考虑使用指针接收者 减少拷贝变量对资源的消耗