Golang學習系列(1)-那些簡單而重要的命令

來源:互聯網
上載者:User
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
本文是學習Golang語言的系列文章之一,主要記錄Go中淺顯易懂的命令,希望讓它們在腦海中的印象猶如初戀般印象深刻,永不忘記。

go build

這個命令主要用於測試編譯。在包的編譯過程中,在必要情況下,還可以同時編譯與之關聯的包。

-普通包:執行完go build ,不會產生任何檔案,如果需要在$GOPATH/pkg下產生相應檔案,則要執行go install.-main 包:執行完go build,會在目前的目錄下產生一個可執行檔,如果需要在$GOPATH/bin下產生對應檔案,需要執行go install 或使用 go build -o outputpath/如果只想編譯某個檔案,只需在在後面加上檔案名稱即可,例如:go build hello.go非main包在預設情況下編譯輸出的是package名,main包是第一個源檔案的檔案包,也還可以指定編譯輸出的檔案名稱,例如,go build -o xialingsc.exego build 會忽略目錄下以"_"或"."開頭的go檔案如果原始碼針對不同的作業系統需要不同的處理,那麼可以根據不同的作業系統尾碼來命名檔案。例如,readfile_linux.go,readfile_drawin.go,readfile_windows.go.go build 會選擇性編譯檔案,Linux系統只編譯readfile_linux.go,其他檔案則被忽略。

go clean

用來移除當前源碼包裡編譯產生的檔案,這些檔案包括,_obj(舊的objects目錄,Makefiles遺留),

_test(舊的test目錄),_testmain.go(舊的gotest檔案),test.out、build.out(舊的test記錄)

*.[568ao] object檔案,DIR(.exe)(由go build產生),DIR.test(.ext)(由go test -c產生),

MAINFILE(.exe) (由go build MAINFILE.go產生)

該命令最大的作用,清除編譯檔案後,上傳git,保持源碼清潔。

go fmt

協助格式化寫好的代碼檔案,讓寫代碼時不關心格式,寫完後,輕鬆執行go fmt 檔案名稱.go就好

提高效率。更多的時候可以採用gofmt,同時增加-w的參數,否則格式化結果不會寫入檔案,例如:

gofmt -w src 來格式真箇項目。

go get

動態擷取遠程代碼。這個代碼內部分為兩部分,一是下載源碼包,另一步是執行go install

為了讓go get正常使用,需保證安裝了合適的源碼管理工具,並將這些命令加入到PATH中。

可通過go help remote 瞭解更多。

go test

執行這個命令會自動讀取源碼目錄下名為*_test.go檔案,產生並運行測試用的可執行檔。

預設情況下不需要任何參數,也可帶上參數,具體可參見go help testflag

go doc

如何查看相應的package文檔呢?

如果是builtin包,可以執行go doc builtin;如果是http包,執行go doc net/http;

查看某個包裡面的函數,類似執行 godoc fmt Println,還可以查看相應代碼

godoc -src fmt Println

很棒的一點是,可以在終端執行godoc -http=:連接埠號碼,例如godoc -http=:8080 ,就可以在

瀏覽器中敲入127.0.0.1:8080進行文檔內容的查看。

其他命令

go fix        用來修複以前老版本的代碼到新版本go version    查看go當前的版本go env        查看當前go的環境變數go list       列出當前全部安裝的packagego run        編譯並運行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.