01Go命令介紹

Go 命令介紹

go 提供了一套強大好用的命令系統golang

go build       編譯包和依賴項
go clean       刪除目標文件
go env         打印Go環境信息
go fix         在包上運行go tool修復,用來修復老版本到新版本的問題
go fmt         在包源上運行gofmt
go generate    經過處理源生成Go文件
go get         下載並安裝包和依賴項
go install     編譯和安裝包和依賴項
go list        列出包
go run         編譯並運行go程序
go test        測試包,運行以 _test.go結尾的文件
go tool        運行指定的go工具
go version     打印go版本
go vet         在包上運行工具go vet,它能夠在編譯階段和運行階段發現bug

詳細的官網地址爲:中文https://go-zh.org/cmd/go/ 英文:https://golang.org/doc/cmd工具

介紹幾個經常使用的:開發工具

一、go build

go build [-o output][-i] [build flags][packages]測試

這個命令主要用於測試編譯。在包的編譯過程當中,如有必要,會同時編譯與之相關聯的包。ui

  • go build 會默認編譯當前文件夾下的全部.go結尾的文件
  • go build 會忽略目錄下以「_」或「.」開頭的 go 文件 ,因此不會編譯測試文件
  • build mian包的文件,會在當前目錄生成一個可執行文件,其餘不會。好比文件 demo.go ,咱們進行go build demo.go 若是demo.go 是main包:執行結果會在當前目錄生成一個可執行文件。若是想在gopath/bin下生成可執行文件的話須要執行go install 或者 go build -o 路徑/name.exe [若是多文件再加上文件名]
  • -o: 僅在編譯單個包時容許,強制構建將結果可執行文件或對象寫入命名輸出文件,注意格式:go build -o 可執行文件名 .go文件名 ,例如 go build -o abc.exe demo.go,就會把demo.go編譯並生成abc.exe,固然能夠指定路徑
  • 能夠根據不一樣的操做系統後綴來命名文件,go build 的時候會選擇性地編譯以系統名結尾的文件

二、go clean

這個命令是用來移除當前源碼包裏面編譯生成的文件。這些文件包括操作系統

_obj/            舊的 object 目錄,由 Makefiles 遺留
_test/             舊的 test 目錄,由 Makefiles 遺留
_testmain.go     舊的 gotest 文件,由 Makefiles 遺留
test.out         舊的 test 記錄,由 Makefiles 遺留
build.out         舊的 test 記錄,由 Makefiles 遺留
*.[568ao]          object 文件,由 Makefiles 遺留
DIR(.exe)          由 go build 產生
DIR.test(.exe)  由 go test -c 產生
MAINFILE(.exe)  由 go build MAINFILE.go 產生

通常在提交版本控制前,刪除一些編譯生成的文件版本控制

三、go fmt

格式化代碼。go fmt <文件名>.go 通常開發工具都自帶code

使用 go fmt 命令,更多時候是用 gofmt,並且須要參數-w,不然格式化結果不會寫入文件 。gofmt -w src,能夠格式化整個項目對象

四、go get

動態獲取遠程代碼包 ,這個命令在內部實際上分紅了兩步操做:開發

第一步是下載源碼包,第二步是執行 go install。 go 工具會自動根據不一樣的域名調用不一樣的源碼工具 ,因此要正常使用確保安裝了合適的源碼管理工具。

五、go install

生成可執行文件。這個命令在內部實際上分紅了兩步操做:

第一步是生成結果文件(可執行文件或者.a 包),第二步會把編譯好的結果移到$GOPATH/pkg 或者$GOPATH/bin

六、go test

執行這個命令,會自動讀取源碼目錄下面名爲*_test.go 的文件,生成並運行測試用的可執行文件。

七、go doc

執行godoc 能夠查看bao、文件、以及方法的源碼文檔。好比:go doc net/http godoc -src fmt Printf 等等。最好用的仍是能夠在本地搭建文檔服務godoc -http=:端口號 而後訪問localhost:端口號。若是你的pkg下有本身生成的文件,也會在文檔列出來。

八、go run

很實用,編譯並直接運行。好比 go run main.go

其餘命令或者詳細參數,用到的時候能夠去查官方文檔。

相關文章
相關標籤/搜索