学会用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