
对 Go 编程哲学的一点理解
由于最近因为项目原因,需要编写 Go 代码。由于本人一直以来都在使用 TypeScripts 和 Kotlin 这两个包含大量语法糖的语言,一上手 Go 非常不适应。一开始写 Go 就开始嫌弃 Go 的各种缺失,期待包含泛型的 Go2。但是随着使用的加深,逐渐理解 Go 里面各种设计的初衷。
- 通过显式返回错误。
- 严格区分指针类型和值类型。
- 更好的源码阅读体验。
- 不提供泛型,防止写出容易编写,但是难以阅读的代码。
- Go 的高度克制,使开发者开发的时候能够保持最低的心智负担。