# 为什么要用Go其实核心就是在已经有C/C++,JAVA,Python,php等诸多各种编程语言的情况下,我们为什么还需要 Go,Go 语言解决了什么痛点呢? 阅读go官网的这篇文档open in new window中的几个典型案例,以及结合我们实际使用经验,我觉得主要在于以下2点:
易于并发 go语言天生就是未并发而设计的,其本身并发模型设计简单.不需要关注太多的技术细节在并发,能更多集中精力在业务逻辑上
开发效率与运行性能之间更好的取舍 go被称为云原生时代的php。上手难度跟php差不多,而其本身是编译型强类型语言,在不考虑使用反射的情况下,运行效率跟C++等语言是同一量级的。
# 一些示例# 来自google core data团队的应用When I’m in C++ and I want to use more packages, I have to write pieces such as headers. When I’m writing in Go, built-in tools allow me to use packages more easily. My development velocity is much faster
对于C++迁移过来的人,不需要再去写各种header文件,引用其他的包变得容易很多,其实就是更容易复用他人的代码
# 关于其他我挺喜欢少是指数的多open in new window的设计理念的,其实就是一门语言的设计哲学,像C++包罗万象,功能确实强大,但这其实极大地增加了使用的难度,其实就像80%的使用者其实只使用到了20%的核心功能,而C++是要满足所有人的需求,而不仅仅是支持核心功能。而go设计得足够简单,对于开发者而言,尤其是有其他语言开发经验的开发者,上手难度极低。
# 参考文档https://go.dev/solutions/google/open in new windowhttps://paul.pub/cpp-concurrencyopen in new windowhttps://draveness.me/golang/open in new windowhttps://go.dev/doc/faq#historyopen in new windowhttp://www.yinwang.org/blog-cn/2017/07/06/master-plopen in new windowhttps://go.dev/talks/2012/splash.articleopen in new windowhttps://www.zhihu.com/question/21409296open in new window