在构建要发布的 Go 程序时,标准做法是只使用 'go build' 吗?
When building Go programs for release is it standard practice to just use 'go build'?
在构建要发布的 Go 程序时,仅使用 go build
而不使用任何其他选项是标准做法吗?我问是因为在使用 go build
进行构建时,默认情况下会包含所有调试信息。要删除它,您可以将一个选项传递给链接器,因此:
go build -ldflags "-w" prog.go
这将省略所有调试符号。在构建发布程序时,您是删除此信息还是保持原样?
编辑:为清楚起见,我想知道人们如何编译 Go 程序以部署到实时环境中。在其他编译语言中,您有一组不同的编译器命令行选项用于调试和发布版本,而发布版本通常会优化可执行文件并删除调试信息。
根据Dave Cheney答案是肯定的,只需使用go build
。
来源:http://www.reddit.com/r/golang/comments/2woogl/when_building_go_programs_for_release_is_it/
在构建要发布的 Go 程序时,仅使用 go build
而不使用任何其他选项是标准做法吗?我问是因为在使用 go build
进行构建时,默认情况下会包含所有调试信息。要删除它,您可以将一个选项传递给链接器,因此:
go build -ldflags "-w" prog.go
这将省略所有调试符号。在构建发布程序时,您是删除此信息还是保持原样?
编辑:为清楚起见,我想知道人们如何编译 Go 程序以部署到实时环境中。在其他编译语言中,您有一组不同的编译器命令行选项用于调试和发布版本,而发布版本通常会优化可执行文件并删除调试信息。
根据Dave Cheney答案是肯定的,只需使用go build
。
来源:http://www.reddit.com/r/golang/comments/2woogl/when_building_go_programs_for_release_is_it/