三、Golang语言特性

1、Golang的优势

golang优势1


golang优势2


golan优势1

  1. package main
  2. import (
  3. "fmt"
  4. "time"
  5. )
  6. func goFunc(i int) {
  7. fmt.Println("goroutine ", i, " ...")
  8. }
  9. func main() {
  10. for i := 0; i < 10000; i++ {
  11. go goFunc(i) //开启一个并发协程
  12. }
  13. time.Sleep(time.Second)
  14. }

golang优势3


golang优势4

golang优势5


golang优势6


golang优势7

2、Golang适合做什么

(1)、云计算基础设施领域

代表项目:docker、kubernetes、etcd、consul、cloudflare CDN、七牛云存储等。

(2)、基础后端软件

代表项目:tidb、influxdb、cockroachdb等。

(3)、微服务

代表项目:go-kit、micro、monzo bank的typhon、bilibili等。

(4)、互联网基础设施

代表项目:以太坊、hyperledger等。


3、Golang明星作品

golang优势8

golang优势9

golang优势10

4、Golang的不足

1、包管理,大部分包都在github

2、无泛化类型

3、所有Excepiton都用Error来处理(比较有争议)。

4、对C的降级处理,并非无缝,没有C降级到asm那么完美(序列化问题)