在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
go buildgo build,是我们非常常用的命令,它可以启动编译,把我们的包和相关的依赖编译成一个可执行的文件。 go help build 帮助命令 go build go build . go build test.go 以上这三种写法,都是使用当前目录编译的意思。因为我们忽略了 go build shhnwagjian.com.cn/tools 这种方式是指定包的方式,这样会明确的编译我们这个包。 go build shhnwangjian.com.cn/tools/... 3个点表示匹配所有字符串,这样 Go提供了编译链工具,可以让我们在任何一个开发平台上,编译出其他平台的可执行文件。 默认情况下,都是根据我们当前的机器生成的可执行文件,比如你的是Linux 64位,就会生成Linux 64位下的可执行文件,可以使用go env查看编译环境,以下截取重要的部分。 两个重要的环境变量GOOS和GOARCH,其中GOOS指的是目标操作系统。GOOS和GOARCH组合起来,支持生成的可执行程序种类很多,具体组合参考如下 https://golang.org/doc/install/source#environment 官方介绍: Choices for Choices for GOOS=linux GOARCH=amd64 go build flysnow.org/hello 上面命令生成linux 64位的程序。 除了GOOS和GOARCH常用,在实际开发中,对于开发出的程序会显示编译时间、go版本等属性,我们会用到用ldflags设置变量的值 GOOS=linux GOARCH=amd64 go build -ldflags "-X 'main.BUILD_TIME=`date "+%F %T"`' -X 'main.GO_VERSION=`go version`'" . 代码中需要引入变量 var ( BUILD_TIME string GO_VERSION string ) func usage() { fmt.Fprintf(os.Stderr, `Options: Build Time: %v Go Version: %v `, BUILD_TIME, GO_VERSION) flag.PrintDefaults() }
|
请发表评论