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!")
}