Go語言入門篇-命令 與 文法

來源:互聯網
上載者:User

標籤:文法   image   編譯過程   編譯   執行檔案   安裝   get   1.4   注意   

一。命令基礎1. go run :

用於運行命令源碼檔案(如:go run helloworld.go)

只能接受一個命令源碼檔案以及若干個庫源碼檔案作為檔案參數

其內部操作步驟:

(1)先編譯源碼檔案再運行

先會編譯作為參數的源碼檔案-》編譯結果放入臨時檔案夾中-》運行編譯的結果。

編譯結果包括:命令源碼檔案(.go)和編譯後產生的可執行檔和編譯後所產生的歸檔檔案(.a)

樣本:

go run helloworld.go -p ~goc2p/src/helper/    //列印目錄
go run常用標記:

-a:強制編譯相關代碼,不論它們的編譯結果是否已是最新的。(go run  -a xx.go)

    如當前有一個命令源碼檔案,匯入程式碼封裝A,程式碼封裝A在之前已編譯過,且在編譯後,程式碼封裝A沒有產生任何變化,則GO是不會再編譯的。加-a強制再編譯。

-n:列印編譯過程中所需啟動並執行命令,但不真正執行它們。(go run -n xx.go)

-p n :並行編譯,其中n為並行的數量 (n最好為邏輯CPU個數) (go run -p n xx.go)

-v:列出被編譯程式碼封裝的名稱(go run -v xx.go)

-a -v:列出所有被編譯的程式碼封裝名稱

     注意:1.3中的所有:包含GO語言內建的標準庫的程式碼封裝

              1.4中的所有:不包含GO語言內建的標準庫的程式碼封裝

-work:顯示編譯時間建立的臨時工和目錄的路徑,並且不刪除它。

-x:列印編譯過程中所需啟動並執行命令 (與-n相似)

    -x:列印編譯過程中所需的命令,並執行他們

    -n:列印編譯過程中所需的命令,但並不執行他們

2.go build 和 go install

go build:

用於編譯源碼檔案或程式碼封裝

編譯非命令源碼(庫源碼)檔案不會產生任何結果檔案

編譯命令源碼檔案會在該命令的執行目錄中產生一個可執行檔

執行該命令且不追加任何參數時,它會試圖把目前的目錄作為程式碼封裝並編譯

執行該命令且以程式碼封裝的匯入路徑作為參數時,該程式碼封裝及其依賴會被編譯

  加入-a標記後所有涉及到的程式碼封裝都會被重新編譯

  不加入-a標記,則只會編譯歸檔檔案不是最新的程式碼封裝

執行該命令且以若干源碼檔案作為參數時,只有這些檔案會被編譯

 

go install:

用於編譯並安裝程式碼封裝或源碼檔案

安裝程式碼封裝會在當前工作區的pkg/<平台相關目錄>下產生歸檔檔案

安裝命令源碼檔案會在當前工作區的bin目錄或$GOBIN目錄下產生可執行檔

執行該命令且不追加任何參數時,它會試圖把目前的目錄作為程式碼封裝並安裝

執行該命令且以程式碼封裝的匯入路徑作為參數時,該程式碼封裝及其依賴會被安裝

執行該命令且以命令源碼檔案及相關庫源碼檔案作為參數時,只有這些檔案會被編譯並安裝 

3.go get 

使用go get從遠程倉庫拉取代碼,會產生pkg目錄(存放歸檔檔案, .a尾碼)

go get 常用標記:

二。Go文法

 

Go語言入門篇-命令 與 文法

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.