命令基礎
- go run
用於運行命令源碼文件,只能接受一個命令源碼文件以及若干個庫源碼文件作爲文件參數。其內部操作步驟是:先編譯源碼文件再運行。步驟爲:譯源碼文件->將編譯結果放入臨時文件夾->運行編譯結果(包括1.源碼文件生成的可執行文件 2.相關庫源碼文件生成的歸檔文件)
- gu run 常用標記
-a:強制編譯相關代碼,不論它們的編譯結果是否已是最新的
-n:打印編譯過程中所需運行的命令,但不真正執行它們,可以非常安全的,不產生任何後果的前提下,查看go run命令執行步驟。
-p n:並行編譯,其中n爲並行的數量,通常爲邏輯cpu個數。
-v:列出被編譯的代碼包的名稱 -a -v 兩個命令連用,就可以列出所有被編譯的代碼包的名稱。go1.3中的所有包含go語言自帶的標準庫的代碼包,而1.4版本中則不包括。
-work:顯示編譯時創建的臨時工作目錄的路徑,並且不刪除它。
-x:打印編譯過程中所需運行的命令,與-n的區別是-x會執行,而-n不會執行。
- go build
用於編譯源碼文件或者代碼包
編譯非命令源碼文件不會產生任何結果文件,只會檢查庫文件的有效性
編譯命令源碼文件會在該命令的執行目錄中生成一個可執行文件
執行該命令且不追加任何參數,它會試圖把當前目錄作爲代碼包,並編譯
執行該命令且以代碼包的導入路徑作爲參數時,該代碼包及其依賴會被編譯,加入-a標記後所有涉及到的代碼包都會被重新編譯,不加入-a標記,則只會編譯歸檔文件不是最新的代碼包
執行該命令以若干源碼文件作爲參數時,只有這些文件會被編譯
- go install
用於編譯並安裝代碼包或源碼文件
安裝代碼包會在當前工作區的 pkg/<平臺相關目錄> 下生成歸檔文件
安裝命令源碼文件會在當前工作區的 bin 目錄或 $GOBIN 目錄下生成可執行文件
執行該命令且不追加任何參數時,它會試圖把當前目錄作爲代碼包並安裝
執行該命令且以代碼包的導入路作爲參數時,該代碼包及其依賴會被安裝
執行該命令以命令源文件及其相關庫源碼文件作爲參數時,只有這些文件會被編譯並安裝
- go get
從遠程代碼倉庫(如:gitHub)上下載並安裝代碼包
受支持的代碼版本控制系統有:git,mercurial(hg),svn,bazaar...
指定的代碼包會被下載到 $GOPATH 中包含的第一個工作區的 src 目錄中
常用標記:
- -d :只執行下載動作,而不執行安裝動作
- -fix:在下載代碼包後先執行修正動作,而後再進行編譯和安裝
- -u:更新代碼包
- ds
用於顯示指定目錄的目錄結構
- pds
用戶顯示指定代碼包的依賴關係