在定义了Rect类型后,该如何创建并初始化Rect类型的对象实例呢?这可以通过如下几种方式实现:
    Go面向对象编程之初始化 - 图1

    在Go语言中,未进行显式初始化的变量都会被初始化为该类型的零值,例如bool类型的零值为false, int类型的零值为0, string类型的零值为空字符串。

    在Go语言中没有构造函数的概念,对象的创建通常交由一个全局的创建函数来完成,以NewXXX来命名,表示“构造函数”:
    Go面向对象编程之初始化 - 图2

    这一切非常自然,开发者也不需要分析在使用了new之后到底背后发生了多少事情。在Go语言中,一切要发生的事情都直接可以看到。


    Go面向对象编程之初始化 - 图3