go build Dockerfile 参数含义

4 min read

go build命令中,-a选项表示强制重新编译所有依赖包,而不仅仅是需要更新的包。使用-a选项可以确保所有的依赖包都是最新的,并且被正确地编译。

-o选项表示输出文件的路径和文件名。在命令go build -o ./bin/api ./cmd/api中,-o选项指定了输出文件的路径和文件名为./bin/api。这意味着编译完成后,生成的可执行文件将被保存在./bin目录下,并命名为api

-ldflags选项用于指定链接时的标志。在命令go build -ldflags '-w -s' -a -o ./bin/api ./cmd/api中,-ldflags选项指定了两个链接时的标志,分别是-w-s。其中,-w标志表示禁用DWARF调试信息,可以减小生成的二进制文件的大小;-s标志表示禁用符号表,可以进一步减小二进制文件的大小,并且使得二进制文件的反汇编结果更加难以理解。这些标志可以帮助我们生成更加小巧、安全的二进制文件。