在 Go 中,go build 生成的 .exe 文件名主要由以下因素决定(按优先级排序):
-o显式指定(最高优先级):go build -o custom_name.exe会直接生成
custom_name.exe模块的
module声明(当在模块目录下时):
由go.mod文件中的模块名决定:module github.com/user/project会生成
project.exe目录名(当不在模块中或模块名是路径时):
如果当前目录是myapp,会生成myapp.exemain 文件名(最低优先级,极少用):
如果编译单个文件如main.go,会生成main.exe
特殊说明:
- 在 Windows 系统会自动加
.exe后缀 - 如果模块名包含路径(如
github.com/user/project),只取最后一段(project) - 使用
go install时会根据GOPATH/bin或GOBIN生成对应名称
建议通过 go build -o 显式控制输出文件名,这是最可靠的方式。