通过``可以直接进行编译:
编译完成的可执行程序是比较大的,因为已经把所有需要的库全部静态编译起来了;
通过ldd
指令查看库依赖,发现除了标准的so、libc和pthread库
外,不依赖其他的库,可以直接./main
执行
编译的时候就可以检查出来隐藏的大多数问题;
通过编译的时候就可以知道代码哪里有问题;
天生支持并发,充分的利用多核;
package main
import (
"fmt"
"time"
)
func goFunc(i int) {
fmt.Println("goroutine ", i, " ...")
}
func main() {
for i := 0; i < 10000; i++ {
go goFunc(i) //开启一个并发协程
}
time.Sleep(time.Second)
}
云计算基础设施领域
代表项目:docker、kubernetes、etcd、consul、cloudflare CDN、七牛云存储等。
基础后端软件
代表项目:tidb、influxdb、cockroachdb等。
微服务
代表项目:go-kit、micro、monzo bank的typhon、bilibili等。
互联网基础设施
代表项目:以太坊、hyperledger等。
try...catch...语法