为什么你要学Go语言
- C语言比,复杂性低了很多。作者中有C语言的发明者。
- 与Python比,Go保持了接近C语言的性能, 它原生支持高并发
- 使用广泛,2020年3月TIOBE编程语言排行榜,Go已经冲进了前十了。著名的docker就是用Go写的
我为什么要学Go?
作为一个软件架构师,我不允许自己知识上有盲点。
环境准备
安装Go编译器
- 上官网 https://golang.google.cn/dl/ 在Featured downloads里根据你的操作系统下载最新版本。
- 双击打开,下一步下一步完成安装即可。
安装IDE
不管什么编程语言,我只用我的最爱支持几乎所有语言的 VSCode(https://code.visualstudio.com/) ,没安装,点击我下载安装。
写个HelloWorld
打开VSCode,新建个文件:
package main
import "fmt"
func main() {
fmt.Printf("hello, Go\n")
}
保存为hello.go 。这时候智能的VSCode会提示你安装Go的插件,点击install安装即可。
编译运行
直接运行
不需要编译就可以直接运行的,调试非常方便。 在cmd里,进入到hello.go所在的目录
root@testmode:~# go run hello.go
hello, Go
编译成exe,再运行
这种适合你要发布你的代码的场景。 同样,在cmd里,进入到hello.go所在的目录。
root@testnode:~# go build hello.go
root@testnode:~# ls
hello hello.go
root@testnode:~# ./hello
hello, Go
root@testnode:~#
编译为so,对外发布
不需要编译就可以直接运行的,在cmd里,进入到hello.go所在的目录
root@testnode:~# go build -buildmode=c-shared -o hello.so hello.go
root@testnode:~# ls
hello hello.go hello.so
root@testnode:~#
看,是不是多了个hello.so。这种编译到so的编译模式需要依赖gcc,windows下安装比较麻烦,所以,我是在Ubuntu下玩的。有人可能想,为什么要编译为so呢,因为是我python爱好者。我学Go,就是想通过Go来解决Python性能不足的问题。对于python项目中对性能要求特别高的模块,可以用go语言编写,再使用python的ctypes调用。Perfect!
有疑问加站长微信联系(非本文作者)