在 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 關注
- 83 瀏覽
添加回答
舉報
0/150
提交
取消