這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
本文是學習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語言程式