Go语言命令
本文介绍几个比较常用的命令
build
常用方法:go build [package]
库源码文件
一个带有main函数的包,build命令会将其编译成一个可执行文件。比如program1
是gopath/src
下的一个项目,结构如下
那么go build program1
会将该包编译成一个同名可执行文件,放在go build
命令的当前目录下。由于build命令 会把生成的二进制文件放在当前目录下,所以我们不能够在$gopath/src
下执行go build program1
,因为该目录下已经有了program1
这个文件夹,不能再生成一个同名的文件。不过,我们可以在除了$gopath/src
以外的任何目录执行这个命令。
我们还可以进入到$gopath/src/program1/
目录下直接执行go build
命令,不带包名,那么会在当前目录下生成package1
可执行文件。
非main包
一个不带main函数的包,build命令将其编译后不会生成任何文件。比如program2
是gopath/src
下的一个项目,结构如下
那么go build program2
会将该包编译一次,但是不会生成任何文件。那么,既然不会生成任何文件,对于非main包,build命令有什么用呢?答案是,我们可以用它来检查某个包能否编译通过,因为该命令虽然不生成可以文件,但还是会完成编译的过程。
install
常用方法:go install package
install其实与build很相似。不同的地方在于,对于main包,install把生成的二进制文件放在$gopath/bin/
目录下,而非当前目录下。对于非main包,install会把编译生成.a
文件放在$gopath/pkg
下。
get
常用方法:go get [-d] [-u] [-v] package
get命令的效果相当于git clone
加go install
。第一步先从远程仓库下载下载包,第二步install包。介绍一下get命令中的几个常用的参数
-d
:只clone,不install-v
:打印日志-u
:如果包在本地已经存在,则默认不会从远程仓库拉取,只install。但如果指定了-u
参数,则从远程仓库拉取最新的版本到本地然后install
run
常用方法:go run package|main.go
run命令后面一般只接main包。我们可以在任意路径下执行go run main-package
命令,或者进入到main-package
目录下执行go run main.go
。这两个命令不会生成二进制文件,但是却会把程序执行一次。
Reference
Last updated
Was this helpful?