学会用go build命令 go run 命令go install 命令
1 go run 命令
go run
命令将
编译和执 行指令合二为一
,
会在编译之后立即执行
Go
语言程序,但是不会生成可执行文件。
2/6
go run
命令的语法格式如下:
go run fileName
其中
fileName
为所需要的参数,参数必须是同一
main
包下的所有源文件名,并且
不能为空。
比如:
go run demo.go
Hello World!
可以看到第
1
行的
go run
命令执行后,直接在第
2
行输出了程序的运行结果。
案例:
hello.go
代码如下
package main
import (
"fmt"
"os"
)
func main() {
fmt.Println("args:", os.Args)
}
$go run hello.go --filename xxx.go
vim a.go
2. go build命令
一个文件夹(
goinstall
)里有一个文件(
main.go
)和一个文件夹(
mypkg
)。
一个文件夹(
mypkg
)里有一个文件(
mypkg.go
)。
main.go
代码如下:
package main
import (
"fmt"
"goinstall/mypkg"
)
func main() {
mypkg.CustomPkgFunc()
fmt.Println("hello world")
4/6
}
mypkg.go
代码如下:
package mypkg //
建议当前包名和所在目录一致
import "fmt"
func CustomPkgFunc() {
fmt.Println("call CustomPkgFunc")
}
执行以下命令将按包方式编译
goinstall
代码:
$ go build -o main goinstall
$ ls
main main.go mypkg
$ ./main
call CustomPkgFunc
hello world
如果有如下错误:
go env
⇒
gopath ==>/home/test2/go
cp goinstall /home/test2/go/src/ -r
cd /home/test2/go/src
go build -o main goinstall/
./main
验证效果
vim main.go
vim lib.go
3..
go install
命令
命令格式:
go install [
可选参数
]
。
命令作用:编译并安装源文件、软件包,即把编译后的文件
(
可执行二进制文件
)
安装
到指定的目录中。
特殊说明:将编译后的文件
(
可执行二进制文件、归档文件等
)
安装到指定的目录中。
若设置了环境变量
GOBIN
,则把二进制可执行文件移到该目录。
若禁用
Go modules
则放到
$GOPATH/pkg/$GOOS_$GOARCH
下。
go env : 查看以下
输入
export GO111MODULE="off"
sudo chmod 0777 /usr/local/bin
go install -x a.go(a是随便取的)
输出:
...
3/6
mkdir -p /Users/ucwords/go/bin/
...
mv $WORK/b001/exe/a.out /Users/ucwords/go/bin/
目标目录
(go modules
的目
录名
)
rm -r $WORK/b001/
如果有说
GOBIN
没设置则,要用如下指令指定:
临时:
export GOBIN="/usr/local/bin" #
该路径是属于
echo $PATH
中的任意目
录
永久:
sudo vim ~/.bashrc
在文件末尾添加如下两行数据。
export GOBIN=/usr/local/bin
保存退出
,
在终端中执行如下命令,使配置生效。
source ~/.bashrc
验证:
go env
可以查看 当前设置是否生效
a
直接执行,看程序效果能否出现
删除:
sudo rm /usr/local/bin/a