1. POSIX特性
在Linux和macOS系统中,大多数命令行工具都要求以推荐标准POSIX指定的方式传递命令行参数。
POSIX即UNIX可移植操作系统接口(Portable Operating System Interface of UNIX)是一套标准,旨在确保操作系统之间彼此兼容。
很多开发人员也希望自己编写的命令行程序能够与POSIX标准保持兼容。
虽然Go语言的flag包并没有遵循POSIX标准,但还是有一些兼容该标准的第三方替代品可供选择,其中之一就是pflag包,其使用方法与flag包几乎一样。
2. 安装与分享
当命令行程序编写好以后,还需要将其安装到系统中,这样就可以在任何位置运行它,而不仅限于go build编译生成的二进制可执行文件所在的目录中。
正确地设置GOPATH,并将项目文件夹放在它的一个名为src的子文件夹中:
- [GOPATH]/src/cli/install/gopher/main.go
执行如下命令将命令行程序gopher安装到系统中:
- go install cli/install/gopher
如果一切顺利,最终的二进制可执行程序应被安装到[GOPATH]/bin目录中(名称以项目目录名称命名):
- [GOPATH]/bin/gopher.exe
由于[GOPATH]/bin已在PATH环境变量中,可在任何位置运行gopher程序。
// [GOPATH]/src/cli/install/gopher/main.go
// go install cli/install/gopher
//
// [GOPATH]/bin/gopher.exe
// gopher 即可运行相应程序package mainimport "fmt"func main() {fmt.Println("Hurray! You are a Gopher!")
}[GOPATH]├──src/│ └──cli/│ └──install/│ └──gopher/│ └──main.go └──bin/└──gopher.exe// 打印输出:
Hurray! You are a Gopher!