花了两天时间,将《Go入门指南》和《Go标准库》不求甚解般的阅读了一遍,大致加深了我对这门语言的一些理解,在网路上找了很多人对它的评价,有好的也有不好的,至于我,倒不是很喜欢去评价语言,因为我相信“存在既合理”这样的判断,是的,反正自己学自己用,我看这就够了。写了一些小玩意之后,对比我之前经常使用的Python,还是有一些不足的地方。比如标准库就没Python多,开发工具的支持上也没Python好(这里是只程序员用的爽不爽),在设计上,很多人应该对Python和Go都没有太多的好感,为啥?Python的Tab风格,Go的语言风格,还是挺让人崩溃的。比较好的一面,是我都很喜欢这样的Style。
每个语言被设计出来,肯定有它好的一面,Go可以支持语言级别的并发,用户级别的线程,也有很多非常重要的标准库(Go自己的标准库就足够好用,比如net),部署也很方便(不过我个人感觉没有Node.js的部署方便,Python的部署稍微麻烦)。这样一面来看,Go还是值得开发者来学习,来使用的。如果你开过很多区块链的项目源码,就能发现一些比较牛逼的项目,都是Go来写的,比如以太坊,在容器层面的docker。至于给Web开发的基础框架,就多的不能再多了。既然,有这么多牛逼的项目在使用Go,我相信这是有一定道理的,何况Go的发展也才十年,十年的发展相对而言,是比较短暂的了,未来如何进化肯定还有更多有趣的事情。
在我的程序员生涯里,学了太多的语言了,有Python,JavaScript,Objective-C,Swift等,我想,在有限的时间里(毕竟三十岁了),再学一门“关门型”的语言,也就是说这是我最后一个打算长期追踪的语言(朝着专家的方向走),别的语言,我稍微懂一些,了解一下,我看也就行了。架构师这样的角色,其实在软件设计领域里,并不需要多精通各类语言,反而是有一两个方向精通,并且能知道各语言设计的优劣,知道在什么场景下用什么,有足够成熟的方案,这样才是一个好的架构师。如果一味的去追求精通,反而本末倒置了。不管你是自己创业,还是去别的公司打工,人才一定是金字塔型的,在这一个阶段要拼的不应该是多么牛逼的语言,而是足够成熟的解决方案,勇于承担的责任,和顶起团队的力挽狂澜。这才是我接下来准备要走的路,要学习的方向。
由于网路上已经有很多人,谈到了Go的优势,也说到了Go适合做什么,如果你很感兴趣,不妨去搜索一下,搜索是可以去了解一个新事物的,我也常常这么干,不过百度大部分情况下,我是带着验证的视角去求证。
这么多能做的事情,让我感觉起来,Go = 接近C的运行效率 + Python的开发效率,至于,是不是,大家来体会一下吧。
接下来的套路是要分享一下自己的学习方式,上官网,这是必然的,然后找到社区,去社区里接触一下,一些有趣的事情,还是蛮好的。如果你的英文不好,也没关系。Go的中国社区,也很棒。
学习没有捷径可以走,不过当上认真的将上述7个链接阅读完,入门绝对没有问题,剩下的就要看,在实际运用中的积累,(不仅是语言,还有服务端知识体系的积累)大部分都是能通用的。
Go,从现在开始!