小猿圈怎么上之Go语言推荐

作者: f673630174f6 | 来源:发表于2019-06-13 15:35 被阅读1次

    编程语言在最近几年成为了高薪产业的代名词,不论是以前有没有基础的同学都可以学习编程改变自己的生活,虽然前期会有一些挫折,这个是在所难免的,今天小猿圈讲讲为什么go语言推荐。

    Go语言作为一个新的编程语言,很多人都挺喜欢,也写了不少推荐,互联网公司中在生产系统中使用Go的(主要是在云端服务中)也在逐渐增多。刚好这几天和同事讨论到这个话题,这里提供一个我的版本的推荐:

    1. Go很好地继承了C语言灵活、简单有效的思想。

    我一直认为系统工程师应该读Linux内核代码,同一套代码,可以跑在小到耳机,大到100核的服务器的所有设备上,而且改改配置就可以一键build出可跑的内核出来。这样灵活的系统,代码可读性还相当不错,归功于C语言简单有效的设计,让C颇有点“增一分则太肥,减一分则太瘦”的意思。传统的C++则是反面例子,新增语言功能的“投资回报”较差(C++11倒是解决了不少问题)。而Go继承了C的这些风格,虽然细节不同,比如没有指针算术,在底层系统操作方面灵活性有所下降,但在很多方面变得更强大(并发性、自动内存管理等等)。Go的关键词数量甚至少于C(25 vs. 30左右),简单性保持得很好。

    2. Go有很高的生产效率。

    举两个例子,Go不需要build文件(Makefile, Java的build.xml, pom.xml这些),而是只需要执行”go build”即可,通过目录结构自己找到项目结构。通过这样的“约定优于配置”(convention over configuration)的设计,大大提高了效率。第二个例子是调用C代码的cgo的设计,使用过Java的JNI(包括Android的NDK)的朋友应该知道,那来回生成.h文件,自己编译DLL/.so的感觉是很酸爽的。而在Go这里简单到可以把C代码直接嵌到Go代码同一个文件里,然后”go build”就可以。效率就是节省的生命和金钱啊。

    3. Go精选了一些复杂事情的优秀解决办法,通过语言功能和标准库提供出来。

    比如并发性功能,goroutine和channels的确就是比线程和流更好的抽象。而JSON/XML/HTTP/正则表达式这些,都有标准库的良好支持。这里Go有别于Swift,在语言特性的引入上很克制,很“精选”。对比Go,Swift感觉有点像个“学究”型的语言,引入了大批的语言特性,每个都很正确,但合起来就变得感觉繁琐。

    关于Go语言推荐以上就是小猿圈讲师的简单建议,如果你对go语言感兴趣,那么可以关注我,每天分享一个知识点,定能帮你学有所成小猿圈GO语言自学交流群:993092624。要了解更多关于go语言开发方面内容的小伙伴,请小猿圈怎么上里面有你需要的视频课程。

    相关文章

      网友评论

        本文标题:小猿圈怎么上之Go语言推荐

        本文链接:https://www.haomeiwen.com/subject/oyesfctx.html