在Go語言中,「go clean」指令用來移除目前原始碼包和關聯原始碼包裡面編譯產生的檔案。移除的檔案可以是:1、執行「go build」指令時在目前目錄下產生的與套件名稱或原始碼檔案同名的執行檔;2、執行「go test」指令並加入「-c」標記時在目前目錄下產生的以套件名稱加上「.test」字尾為名的檔案;3、執行「go install」指令安裝目前程式碼包時產生的結果檔案等等。
本教學操作環境:windows10系統、GO 1.18版本、Dell G3電腦。
Go語言中go clean
指令可以移除目前原始碼包和關聯原始碼包裡面編譯產生的檔案,這些檔案包含以下幾種:
執行go build命
令時在目前目錄下產生的與套件名稱或Go 原始碼檔案同名的可執行檔。在 Windows 下,則是與套件名稱或 Go 原始碼檔案同名且有「.exe」字尾的檔案。
執行go test
指令並加入-c
標記時在目前目錄下產生的以套件名稱加上「.test」字尾為名的文件。在 Windows 下,則是以套件名稱加上「.test.exe」後綴的檔案。
執行go install
指令安裝目前程式碼包時產生的結果檔。如果目前程式碼包中只包含庫源碼文件,則結果文件指的就是在工作區 pkg 目錄下相應的歸檔文件。如果目前程式碼包中只包含一個命令原始碼文件,則結果文件指的就是在工作區 bin 目錄下的可執行檔。
在編譯 Go 或 C 原始碼檔案時遺留在對應目錄中的檔案或目錄 。包括:“_obj”和“_test”目錄,名稱為“_testmain.go”、“test.out”、“build.out”或“a.out”的文件,名稱以“.5”、“.6” 、「.8」、「.a」、「.o」或「.so」為後綴的檔案。這些目錄和檔案是在執行go build
指令時產生在暫存目錄中的。
go clean
指令也可以指定一些參數。對應的參數的意義如下所示:
-i
清除關聯的安裝的套件和可運行文件,也就是透過go install
安裝的檔案;
-n
把需要執行的清除指令印出來,但是不執行,這樣就可以很容易的知道底層是如何運作的;
-r
循環的清除在import
中引入的套件;
##-x 印出來執行的詳細指令,其實就是
-n 列印的執行版本;
-cache 刪除所有
go build指令的快取
-testcache 刪除目前套件所有的測試結果
go clean指令清除編譯文件,然後再將原始碼遞交到
github 上,方便對於原始碼的管理。
go clean -n cd D:\code rm -f code code.exe code.test code.test.exe main main.exe在指令中使用-n標記可以將指令的執行過程列印出來,但不會正真執行。如果既要列印指令的執行過程同時又執行指令的話可以使用-x標記,如下所示:
go clean -x cd D:\code rm -f code code.exe code.test code.test.exe main main.exe
圖:go clean 指令運行前後對比
以上是go clean有什麼用的詳細內容。更多資訊請關注PHP中文網其他相關文章!