golang的优势在哪里?

● 部署简单

Go 编译生成的是一个静态可执行文件,除了 glibc 外没有其他外部依赖。这让部署变得异常方便:目标机器上只需要一个基础的系统和必要的管理、监控工具,完全不需要操心应用所需的各种包、库的依赖关系,大大减轻了维护的负担。可直接编译成机器码,不依赖其他库,glibc的版本有一定要求,部署就是扔一个文件上去就完成了。

● 并发性好

并发性好。Goroutine 和 channel 使得编写高并发的服务端软件变得相当容易,很多情况下完全不需要考虑锁机制以及由此带来的各种问题。单个 Go 应用也能有效的利用多个 CPU 核,并行执行的性能好。

● 良好的语言设计

良好的语言设计。从学术的角度讲 Go 语言其实非常平庸,不支持许多高级的语言特性;但从工程的角度讲,Go 的设计是非常优秀的:规范足够简单灵活,有其他语言基础的程序员都能迅速上手。更重要的是 Go 自带完善的工具链,大大提高了团队协作的一致性。比如 gofmt 自动排版 Go 代码,很大程度上杜绝了不同人写的代码排版风格不一致的问题。把编辑器配置成在编辑存档的时候自动运行 gofmt,这样在编写代码的时候可以随意摆放位置,存档的时候自动变成正确排版的代码。此外还有 gofix, govet 等非常有用的工具。

● 执行性能好

执行性能好。虽然不如 C 和 Java,但通常比原生 Python 应用还是高一个数量级的,适合编写一些瓶颈业务。内存占用也非常省。

推荐教程:golang教程

更多相关文章

  1. Golang底层是什么语言
  2. go语言和python的区别是什么?
  3. golang底层是c语言吗?
  4. golang和go语言有区别吗?
  5. golang和哪种语言像?
  6. Go 语言和 Java 比较?
  7. 如何实现golang语言的多态
  8. go语言中一种常见的错误
  9. go语言中控制并发数量的方法

随机推荐

  1. GitHub Android(安卓)Libraries Top 100
  2. 初涉Android之ContentProvider
  3. 10.10笔记,android通知栏兼容性,matches t
  4. Android 运行 Linux 可执行程序
  5. Android学习资源网站
  6. android 系统关机,重启
  7. Gallery 画廊
  8. android bitmap 处理
  9. Android获取机器显示屏幕的分辨率
  10. android tools命名空间