安装
1 | brew install go |
配置
1 | export GOVERSION=$(brew list go | head -n 1 | cut -d '/' -f 6) |
GOROOT
Go语言编译、工具、标准库等的安装路径
GOPATH
工作目录,Go 使用第一个路径作为外部依赖的安装目录,多个路径使用冒号分割,主要包含三个目录:
- bin 可执行文件
- pkg 编译好的库文件(*.a)
- src 源代码,大的工作空间,可以包含多个项目
开发工具
墙裂推荐 VSCode 作为 Golang 的开发工具! 在插件库中搜索并安装 Go 的集成开发环境
VSCode 各种技巧 https://github.com/Microsoft/vscode-tips-and-tricks/blob/master/README.md
tips: 在 VScode 的工作区 .vscode/settings.json 设置 gopath,就可以愉快的读库源码了
1 | // 使用绝对路径,第一个为外部依赖安装目录,第二个为当前工作空间 |
开发流程
新建工程
1 | cd [WORKSPACE] |
示例代码
1 | package main |
运行方式
1 | # 直接运行 |
安装依赖
1 | package main |
示例代码中引用了 uuid 第三方库,使用 uuid 作为引用库的别名 (import 的机制不在这里展开)
1 | go get github.com/satori/go.uuid |
第三方库
- Redis 客户端 github.com/garyburd/redigo/
- Mysql 客户端 github.com/go-sql-driver/mysql
- 配置文件解析 github.com/koding/multiconfig
- Uber日志记录 github.com/uber-go/zap
- Go RocksDB github.com/tecbot/gorocksdb
- Web-socket github.com/gorilla/websocket
- HTTPRouter github.com/julienschmidt/httprouter
- Gin github.com/gin-gonic/gin
常见问题
- 类型转换:Golang 是强类型语言,虽然 interface 大法好,必须清楚自己定义的类型,避免在运行时发生错误的转换或引用
- 作用域:通过
:=
定义的局部变量会覆盖同名的全局变量,然后炸了 - 切记使用
defer
释放打开的资源 - 待补充…