@alexsunxl #26 请问下在真正的项目里 go 是面向对象的方式多一些还是面向过程的方式多一些?
WildCat
2017-04-20 20:45:54 +08:00
@misaka19000 go 面向对象很不完善,面向过程的思想和类似函数式(毕竟 immutable )的思想多一点。比如方法底层就是函数,第一个参数是 self 。 很多人把 go 称为 命令式语言。
和王垠大神观点类似,写 go 还不如 python 、 java 舒服。但是我觉得 go 介于两者之间,语言特性做了很多减法,整体非常简单(很多人评价用 go 的好处就是有其他编程语言经验的人一个星期就可以完全上手,其他花哨语言比如 scala 需要六个月)。这就是 go 成功之处, keep it simple, rather than tricky
@misaka19000 要用好 interface , 然后不要做太大的抽象, 标准库和主流 go 开源库里都喜欢用小的 interface , 一个 interface 里大概 2-3 个方法。 不用太强调面向对象。 还有个原则是函数要尽量 be conservative what you send , be liberal what you accept