为什么和其他主流的编程语言不呢?
对于习惯分号结尾的开发者可能一时并不习惯 Go 的这种语法,于是决定探索一下 Go 的编程规范!
?...类似于上述的规则记忆很简单,验证也比较容易,难点在于理解为什么?
Go 为什么会这么设计?或者说如何理解这种设计思路所代表的语义?...如果我们也采用这种思路来理解不同的编程语言,那么就能透过现象看本质了,否则真的很容易陷入语法细节上,进而可能忽略了背后的核心思想....所以数组的初始化长度不能为零,这样解决了无法操作数组的问题,但语义上又不正确了,因此这种情况下需要维护两个变量 len 和 cap 的值来确保语义和逻辑正确,其中 len 表示真正的数组个数,cap 表示内部数组实际分配的长度...因此,个人的看法是应该可以保留构造函数这种初始化逻辑,也可以换一种思路去实现,或者干脆直接放弃构造函数转而由编译器自动实现构造函数,正如编译器可以自动添加多字段之间的分号那样.