在 CI/CD 管道中,我们有一个 Go 脚本,它在实际构建我们的可交付工件之前进行一些预处理。如果我将脚本命名为 main.go,这在 GoLang 世界中是犯规还是可以?我不明白是否有任何与脚本的实际文件名相关的命名空间问题。我知道 main.go 是脚本,main_test.go 是单元测试,所以我很谨慎并寻求指导。例如,如果我从 shell (MacOS bash) 执行以下命令: go test 这将执行 main.go 脚本的单元测试,这让我相信 main 是某种保留文件名。不过,我很容易出错。想法?
1 回答
千巷猫影
TA贡献1829条经验 获得超7个赞
文件名main.go
并不特殊。
Go 检测到一个文件是测试的一部分,因为它以 结尾_test.go
,并检测到一个包是二进制文件(而不是库),因为包名是main
(换句话说,它以 开头package main
)。您可以使用main.go
在库中命名的文件。
您可以在源代码中go/build
查看go build
在文件中查找的内容。它只检查_test
后缀,这里:
isTest := strings.HasSuffix(name, "_test.go")
- 1 回答
- 0 关注
- 63 浏览
添加回答
举报
0/150
提交
取消