Go语言是什么?
Go语言是谷歌2009年发布的第二款开源编程语言。(也就是说谷歌大帝是这们语言的后台。。。)
Go语言专门针对多处理器应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程。
Go-创始团队:
Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发,后来还加入了Ian Lance Taylor, Russ Cox等人。(这些创始团队里面有C语言的创始人,发明 utf-8 编码等一些计算机牛人)
Go-设计理念:
Go 语言被设计成一门应用于搭载 Web 服务器,存储集群或类似用途的巨型中央服务器的系统编程语言。对于高性能分布式系统领域而言,Go 语言无疑比大多数其它语言有着更高的开发效率。它提供了海量并行的支持,这对于游戏服务端的开发而言是再好不过了。
Go-新特性:
自动垃圾回收、更丰富的内置类型、并发编程
函数多返回值(可以返回多个返回值)、匿名函数和闭包、错误处理
。。。
Go语言接受了函数式编程的一些想法,支持匿名函数与闭包。再如,Go语言接受了以Erlang语言为代表的面向消息编程思想,支持goroutine和通道,并推荐使用消息而不是共享内存来进行并发编程。
一段小故事:
事情的起因是这样的,有一名移动端开发人员前不久被某后台人员又深深的坑了一次,在不知道情况的下改了APP接口导致了一系列的后果这里就不想说了。笔者这里也为他感到不幸和怨愤。乱七八糟的响应体格式、什么黑锅先让你顶一顶、后台所谓的优越感等等这些想想真是让人 sick 至极。当然这只是个别现象,更多的后台人员都是非常友爱和谐的。可是碰巧他就遇到了这种极个别情况,所以那名移动端开发就怒了,“愤怒”使他内心迫切的想要快速掌握一门后台开发语言,在未来的某一天做好准备,虽然这某一天可能会来的很晚,来的很迟,但是他内心一直总是渴望着什么,估计也只有他自己才知道自己想要的是什么。
不得不承认,学习是一件非常枯燥的事情,而且人性都是百分之80的懒惰散漫跟百分之20的坚毅进取在互相摩擦。因此,希望那位移动端开发人员能够坚持、不忘初心方得始终。
纯粹从技术的角度来说,掌握一门后台语言是非常有必要的。虽然这位移动端开发跟Javaee开发人员一起学习的都是JavaSe心法,但是Go的这些优点还是非常吸引他的。而且区块链应用技术的出现,Go语言的优势非常明显,因为 Java 需要 JVM,不是很适合系统级编程,当然不是说Java不好,相反Java以其优秀的性能和完善的框架以及庞大的开发人群一直稳居服务器之巅的位置。(这里也不是针对P?P,真不是针对P ? P)。唯物主义辩证法告诉我们,新事物是指符合事物发展的客观规律和前进趋势、具有强大生命力。因为新事物符合历史发展的必然趋势,它萌芽、产生于旧事物之中,是对旧事物的“扬弃”,即抛弃了旧事物中的消极、过时、腐朽的因素,吸取了旧事物中的积极的、合理的因素,并且形成了它自身的新特点。 通过实时数据得知,国外如Google、AWS、Cloudflare、CoreOS等,国内如七牛、阿里等都已经开始大规模使用Golang开发其云计算相关产品。 总之跟着这些世界级巨人的脚步应该不至于走错方向。
最后:
文章寥寥数字不足以对这门语言的期待以及为这门语言的开发团队致以最真挚的敬意。谢谢你们让我们又一次站在巨人的肩膀上看的更高、更远。
忠于技术、乐于分享、不断进取,我想,这才是开发的灵魂。
最后的最后,祝愿这位移动端开发的Go语言之旅,完美开启,加油!