Golang 學習之路三:基礎命令

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章