首頁  >  文章  >  後端開發  >  go clean有什麼用

go clean有什麼用

青灯夜游
青灯夜游原創
2023-01-28 11:28:131558瀏覽

在Go語言中,「go clean」指令用來移除目前原始碼包和關聯原始碼包裡面編譯產生的檔案。移除的檔案可以是:1、執行「go build」指令時在目前目錄下產生的與套件名稱或原始碼檔案同名的執行檔;2、執行「go test」指令並加入「-c」標記時在目前目錄下產生的以套件名稱加上「.test」字尾為名的檔案;3、執行「go install」指令安裝目前程式碼包時產生的結果檔案等等。

go clean有什麼用

本教學操作環境: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指令:

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 指令運行前後對比

【相關推薦:

Go影片教學程式設計教學

以上是go clean有什麼用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn