Golang 學習:基礎命令
本文內容整理自郝林老師的《go語言第一課》
一、go run
用於運行命令源碼檔案,只能接收一個命令源碼檔案以及若干個庫源碼檔案作為參數。先將源碼檔案編譯成臨時檔案,然後再運行這個臨時檔案,臨時檔案可能包括可執行檔和歸檔檔案。這些臨時檔案如果不做命令標記,會在被運行後被刪除。
下面是go run
命令常用的標記:
–a : 強制編譯相關代碼檔案,無論代碼檔案是否有更新
–n : 列印編譯過程中所需要的命令,但是不執行它
–p N : 並行編譯,其中N為CPU邏輯個數
–v : 列出被編譯的程式碼封裝名稱
–work : 顯示編譯時間建立的臨時工作目錄,注意這些目錄並不會刪除
–x : 列印編譯過程中需要的命令,並執行
二、go build
用於編譯源碼檔案或程式碼封裝,編譯非命令源碼檔案不會產生結果檔案,它只會檢查源碼檔案的有效性;go build
編譯命令源碼檔案會在當前源碼檔案所在目錄下產生可執行檔。
- 執行該命令且不追加任何參數,他會試圖把目前的目錄作為程式碼封裝並編譯
- 以程式碼封裝匯入路徑作為參數,該程式碼封裝及其依賴會被編譯
- 以若干源碼檔案作為參數,只會編譯參數列出的源碼檔案,這是需要注意列出源碼檔案的完整性
三、go install
go run
用於編譯並安裝程式碼封裝或源碼檔案。安裝程式碼封裝會在/<當前工作區>/pkg/<平台相關目錄>/下產生歸檔檔案;安裝命令源碼檔案會在當前工作區的bin目錄下或$GOBIN下產生可執行檔。
- 執行該命令且不追加任何參數時,它會試圖把目前的目錄作為程式碼封裝編譯並安裝
- 執行該命令且以程式碼封裝的匯入路徑作為參數時,該程式碼封裝及依賴會被安裝
- 執行該命令且以源碼檔案作為參數,只有這些源碼檔案被編譯安裝
四、go get
go get
用於從遠程代碼倉庫下載並安裝程式碼封裝,它所支援的代碼控制系統:
- Git
- SVN
- Mercurial(hg)
- Bazaar
指定的程式碼封裝會被下載到$GOPATH中包含的第一個工作區的src目錄中。
下面是go get
命令常用的標記:
- -d : 只執行下載動作不執行安裝動作
- -fix : 在下載程式碼封裝後先執行修正動作,然後再進行編譯安裝
- -u :利用網路來更新已有的程式碼封裝及其依賴
註:當使用go get
命令時,其實使用了git等管控工具進行操作。加-u
標記會remote後執行pull的操作。可以加上-x
標記查看它所使用命令。
五、推薦
go run
,go build
,go install
,go get
是經常會使用到的一些基礎命令,另外從github上會有更加詳細和全面的命令。可以瀏覽一遍,在實際遇到問題的時候可以參考。
參考:
郝林 《go語言第一課》
郝林老師的GitHub https://github.com/hyper0x/go_command_tutorial