Golang的优势

  • 可直接编译成机器码
  • 不依赖其他库(生成静态的可执行程序)
  • 直接运行即可部署
  • 静态语言
  • 语言层面的并发
  • 强大的标准库  runtime系统调度机制 高效的GC  丰富的标准库

Golang适合做什么

(1)、云计算基础设施领域
代表项目:docker、kubernetes、etcd、consul、cloudflare CDN、七牛云存储等。

(2)、基础后端软件
代表项目:tidb、influxdb、cockroachdb等。

(3)、微服务
代表项目:go-kit、micro、monzo bank的typhon、bilibili等。

(4)、互联网基础设施
代表项目:以太坊、hyperledger等。

Golang的不足

  • 包管理,大部分包都在github上
  • 所有Excepiton都用Error来处理(比较有争议)。
  • 对C的降级处理,并非无缝,没有C降级到asm那么完美(序列化问题)
package main

import "fmt"

func main()  {
	fmt.Println("Hello Go!")
}