2. 特性¶
2.2. 并发模型¶
Goroutine是go最显著特征,它用类协程的方式来处理并发单元,却又在运行时层面做了深度优化处理。
2.3. 内存分配¶
go采用tcmalloc, 它本身就是为并发设计的高性能内存分配组件。
2.4. 垃圾回收¶
每次升级,垃圾回收器必然是核心组件里修改最多的部分,逐步引入三色标记和写屏障等等,都是为了能让垃圾 回收在不影响用户逻辑的情况下更好地工作。尽管有了努力,当前版本的垃圾回收算法也只能说堪用,离好用尚有不少距离。
2.5. 静态链接¶
Go 刚发布时,静态链接被当作优点宣传。只须编译后的一个可执行文件,无须附加任何东西就能部署。
2.6. 标准库¶
功能完善、质量可靠的标准库为编程语言提供了充足动力。
2.7. 工具链¶
完整的工具链对于日常开发极为重要。Go 在此做得相当不错,无论是编译、格式化、错误检查、帮助文档,还是第三方包下载、 更新都有对应的工具。其功能未必完善,但起码算得上简单易用。