golang怎么编译

尚
原创
2020-01-15 10:26:53 4318浏览

golang编译的方法:

1、使用go build命令编译

go build命令用于编译我们指定的源码文件或代码包以及它们的依赖包。

例如,如果我们在执行go build命令时不后跟任何代码包,那么命令将试图编译当前目录所对应的代码包。例如,我们想编译goc2p项目的代码包logging。其中一个方法是进入logging目录并直接执行该命令:

hc@ubt:~/golang/goc2p/src/logging$ go build

因为在代码包logging中只有库源码文件和测试源码文件,所以在执行go build命令之后不会在当前目录和goc2p项目的pkg目录中产生任何文件。

2、使用go install命令编译

go install 只是将编译的中间文件放在 GOPATH 的 pkg 目录下,以及固定地将编译结果放在 GOPATH 的 bin 目录下。

这个命令在内部实际上分成了两步操作:第一步是生成结果文件(可执行文件或者 .a 包),第二步会把编译好的结果移到 $GOPATH/pkg 或者 $GOPATH/bin。

使用 go install 来执行代码,参考下面的 shell:

$ export GOPATH=/home/davy/golangbook/code
$ go install chapter11/goinstall

golang 的go build、go install 命令都是可生成可实行文件。

go install 和 go build 在没有参数时运行,都会在当前目录下编译,如果当前目录是软件主程序(package main)

go build 会生成可实行文件放在当前目录中,go install 则会把它放到 $GOPATH/bin 中。

go install 还会把导入的依赖包编译到 $GOPATH/pkg,并缓存,如果包未做更改,下次编译则直接使用缓存。 go build 命令加参数 -i 也能达到go install 的效果。

更多golang知识请关注PHP中文网golang教程栏目。

以上就是golang怎么编译的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。