概要
日常工作有时候需要编写命令行工具,相比Python这样的脚本语言,Golang可以直接编译成二进制文件,运行时不用依赖于环境。同时Golang也支持交叉编译,可以在Mac,Linux等多个环境下执行。
开发准备
Golang需要我们安装Go的开发环境。当前我们可以去 https://golang.google.cn/ 下载最新的Golang环境。
安装了Golang环境后,可能因为国内网络的原因无法下载第三方的包。比较好的方法是借助Go的proxy:https://goproxy.io/
编译运行
go buildgo run
go build main.go
依赖管理
Go Modules
一些简单的规则
package
源文件命名的规则:golang的源文件大都是小写蛇形命名, 比如 hello.go, 而 hello_test.go 则是hello.go的测试代码。
函数规则:文件中的函数以驼峰式命名,首字母大写的函数说明是供外部模块调用的。
常用的模块
如果你要编写的命令行工具需要借助其他的shell命令来实现,就需要用到exec模块
创建命令行工具常常会需要对命令行的参数进行解析,需要用到 flag模块
因为有些处理比较耗时,所以也可能会需要使用Golang的goroutine(协程)特性。
其他编写命令行工具时常用的第三方模块:
其他tips
go installgo buildgoland