成都网站建设创意,清河做网站哪里好,本地服务器搭建wordpress,wordpress移动移动判断go build
作用#xff1a;将Go语言程序和相关依赖编译成可执行文件
go build 无参数编译
生成当前目录名的可执行文件并放置于当前目录下#xff0c;如#xff1a; go build go build文件列表
编译同目录的多个源码文件时#xff0c;可以在 go build 的后面提供多个文件…go build
作用将Go语言程序和相关依赖编译成可执行文件
go build 无参数编译
生成当前目录名的可执行文件并放置于当前目录下如 go build go build文件列表
编译同目录的多个源码文件时可以在 go build 的后面提供多个文件名go build 会编译这些源码输出可执行文件“go build文件列表”的格式如下 go build file1.go file2.go… 可执行文件默认选择文件列表中第一个源码文件作为可执行文件名输出如 go build upload.go main.go 使用“go build文件列表”编译方式编译时文件列表中的每个文件必须是同一个包的 Go 源码。 注意如果go build main.go,但是main.go调用了同包的其他文件会报错。
$ tree -L 2
└── main├── main.go└── hello.gomain.go内容如下
package mainfunc main() {println(this is function main)hello()println(A)
}hello.go内容如下
package mainvar A string AAfunc hello() {println(this is function hello)
}因为同一个包下并没有import语句不会自动导入。解决go build main.go hello.go
$ go build main.go
# command-line-arguments
.\main.go:5:2: undefined: hello
.\main.go:6:10: undefined: Ago build包
可以直接根据包名进行编译即便包内文件被增加删除也不影响编译指令。
下面的命令用于构建同一个包虽然它们的写法各不相同
$ cd $GOPATH/src/gopl.io/ch1/helloworld
$ go build或者
$ cd anywhere
$ go build gopl.io/ch1/helloworld或者
$ cd $GOPATH
$ go build ./src/gopl.io/ch1/helloworld但不能这样
$ cd $GOPATH
$ go build src/gopl.io/ch1/helloworld
Error: cannot find package src/gopl.io/ch1/helloworld.go build 还有一些附加参数可以显示更多的编译信息和更多的操作详见下表所示。
附加参数备 注-v编译时显示包名-p n开启并发编译默认情况下该值为 CPU 逻辑核数-a强制重新构建-n打印编译时会用到的所有命令但不真正执行-x打印编译时会用到的所有命令-race开启竞态检测常用于并发模式下的共享变量检测-o后接文件名强制对输出的文件进行重命名-work打印编译工作的临时目录-gcflags后面的参数可以是多个用空格进行分隔并用 进行包裹这些参数将传递到 go tool compile 工具中进行调用。例如go build -gcflags -l -m-ldflags后面的参数可以是多个用空格进行分隔并用 进行包裹这些参数将传递到 go tool link 工具中进行调用。例如go build -ldflags “-w -s”。这个命令可以隐藏所有代码实现相关的信息并减少生成文件的大小。其中-w 可以移除调试信息无法使用gdb 调试-s 可以移除符号表