Go语言有什么优势?

如题所述

GO语言的优势:可直接编译成机器码,不依赖其他库,glibc的版本有一定要求,部署就是扔一个文件上去就完成了。静态类型语言,但是有动态语言的感觉,静态类型的语言就是可以在编译的时候检查出来隐藏的大多数问题,动态语言的感觉就是有很多的包可以使用,写起来的效率很高。语言层面支持并发,这个就是Go最大的特色,天生的支持并发,我曾经说过一句话,天生的基因和整容是有区别的,大家一样美丽,但是你喜欢整容的还是天生基因的美丽呢?Go就是基因里面支持的并发,可以充分的利用多核,很容易的使用并发。内置runtime,支持垃圾回收,这属于动态语言的特性之一吧,虽然目前来说GC不算完美,但是足以应付我们所能遇到的大多数情况,特别是Go1.1之后的GC。简单易学,Go语言的作者都有C的基因,那么Go自然而然就有了C的基因,那么Go关键字是25个,但是表达能力很强大,几乎支持大多数你在其他语言见过的特性:继承、重载、对象等。丰富的标准库,Go目前已经内置了大量的库,特别是网络库非常强大,我最爱的也是这部分。内置强大的工具,Go语言里面内置了很多工具链,最好的应该是gofmt工具,自动化格式化代码,能够让团队review变得如此的简单,代码格式一模一样,想不一样都很困难。跨平台编译,如果你写的Go代码不包含cgo,那么就可以做到window系统编译linux的应用,如何做到的呢?Go引用了plan9的代码,这就是不依赖系统的信息。Go语言这么多的优势,你还不想学吗?我记得当时我看的是黑马程序员的视频,我对他们视频的印象就是通俗易懂,就是好!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-09-08
语法简单:Go语言的语法处于简单和复杂的两极,Go从0开始,在吸取足够经验后,从头规划了一个规则严谨、条理简单的世界。Go的语法规则严谨,没有歧义,任何人写出的代码基本都一致,也就使得Go语言简单易学,放弃部分灵活和自由,换来更好的维护性也是值得的。
并发模型:并发编程已成为程序员的基本技能,Go语言从根本将一切都并发化,运行时用Goroutine运行所有的一切,包括main.main入口函数,它用类协程的方式来处理并发单元,却又在运行时层面做了更深度的优化处理。
内存分配:Go选择了tcmalloc,它本就是为并发而设计的高性能内存分配组件。可以说,内存分配器是运行时三大组件里变化最少的部分,内存分配器完整保留了tcmalloc的原始架构。
垃圾回收:垃圾回收一直是个难题,相比Java,Go面临的困难要更多。因指针的存在,所以回收内存不能做收缩处理。幸好,指针运算被阻止,否则要做到精确回收都难。
静态链接:Go刚发布时,静态链接被当作优点宣传。只须编译后的一个可执行文件,无须附加任何东西就能部署。这似乎很不错,只是后来风气变了。连着几个版本,编译器都在完善动态库buildmode功能,场面一时变得有些尴尬。
标准库:功能完善、质量可靠的标准库为编程语言提供了充足动力。在不借助第三方扩展的情况下,就可完成大部分基础功能开发,这大大降低了学习和使用成本。最关键的是,标准库有升级和修复保障,还能从运行时获得深层次优化的便利,这是第三方库所不具备的。
相似回答