当创建发布的围棋程序时,标准做法是只使用go build,而不使用任何其他选项吗?我之所以这样问,是因为在使用go build构建时,默认情况下包含所有调试信息.要删除它,可以将一个选项传递给链接器,如下所示:

go build -ldflags "-w" prog.go

这将省略所有调试符号.在构建用于发布的程序时,您是删除此信息还是将其保持不变?

编辑:为了清楚起见,我想知道人们是如何编译围棋程序以部署到真实环境中的.在其他编译语言中,您有一组不同的编译器命令行选项用于调试和发布版本,发布版本通常会优化可执行文件并删除调试信息.

推荐答案

根据Dave Cheney的答案是可以的,只要用go build就可以了.

资料来源:http://www.reddit.com/r/golang/comments/2woogl/when_building_go_programs_for_release_is_it/

Go相关问答推荐

"k8s.io/apimachinery/pkg/runtime.对象(缺少方法DeepCopyBody)

golang 的通用 map 功能

理解Golang并发:缓冲通道的意外行为

MaybeReadByte对通道的使用如何在Go中提供随机行为?

确定果朗CSV行中的字节数

Fizz对Gin的OpenAPI生成器正在重命名类型

将字符串格式的x509证书生成主题名称

Secrets Manager Update Secret - Secret String 额外的 JSON 编码

Github Actions Go lambda 项目不同的 sha256sums

Go Programming Language书上的例子server2错了吗?

Exchange Web 服务 - 使用 soap xml 请求查找所有未读邮件

在 Cloud Run 中找不到默认凭据

甚至用天真的洗牌分配?

Go:如何在将 float64 转换为 float32 时判断精度损失

Wire google Inject with multi return from provider 函数

为什么我不能使用来自 gocloak 中 Login() 的访问令牌在 KeyCloak 中创建新客户端?

如何在golang中使用ozzo验证进行时间最大验证

如何从字符串中删除多个换行符`\n`但只保留一个?

使用 LoadLibraryA(path_to_dll) 加载 DLL 会将文件描述符 0、1 和 2 的继承句柄标志 (HANDLE_FLAG_INHERIT) 从 1 更改为 0

使用不安全的指针从 [] 字符串中获取值