由于大多数主流的编程语言一般采用分号作为分隔符,开发者需要手动编写分隔号以供编译器识别,而 Go 语言却不这么认为,算了吧,直接换行,我一样可以识别出来(尽管底层 Go 编译器进行编译时仍然是采用分号表示换行的...所以数组的初始化长度不能为零,这样解决了无法操作数组的问题,但语义上又不正确了,因此这种情况下需要维护两个变量 len 和 cap 的值来确保语义和逻辑正确,其中 len 表示真正的数组个数,cap 表示内部数组实际分配的长度...此时方法名和参数返回值又报错了,根据提示说函数名和字段名不能相同?
真的又是一件神奇的事情,难不成 Go 无法区分函数和字段?这就不得而知了....构造函数正如其名应该是函数,而不是方法,方法由指向自身的参数,这一点构造函数不应该有,否则都有实例对象了还构造毛线啊?...因此,个人的看法是应该可以保留构造函数这种初始化逻辑,也可以换一种思路去实现,或者干脆直接放弃构造函数转而由编译器自动实现构造函数,正如编译器可以自动添加多字段之间的分号那样.