在 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.exe
main 文件名(最低优先级,极少用):
如果编译单个文件如main.go
,会生成main.exe
特殊说明:
- 在 Windows 系统会自动加
.exe
后缀 - 如果模块名包含路径(如
github.com/user/project
),只取最后一段(project
) - 使用
go install
时会根据GOPATH/bin
或GOBIN
生成对应名称
建议通过 go build -o
显式控制输出文件名,这是最可靠的方式。