這個命令主要用於測試編譯。在包的編譯過程當中,會同時編譯與之相關聯的包。linux
建議使用 -gcflags "-N -l" 參數關閉編譯器代碼優化和函數 內聯,避免斷點和單步執行沒法準確對應源碼行,避免小函數和局部變量被優化掉。-o 指定存放位置。git
go build -gcflags "-N -l" -o test test.go
github
go build a.go
如一個讀取數組的程序,它對於不一樣的操做系統可能有以下幾個 源文件:windows
array_linux.go array_darwin.go array_windows.go array_freebsd.go
go build 的時候會選擇性地編譯以系統名結尾的文件(linux、darwin、windows、freebsd)。 例如 Linux 系統下面編譯只會選擇 array_linux.go 文件,其它系統命名後綴文件所有忽略。數組
這個命令是用來移除當前源碼包裏面編譯生成的文件。這些文件包括瀏覽器
_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 產生
我通常都是利用這個命令清除編譯文件,而後 github 遞交源碼,在本機測試的時候這些編 譯文件都是和系統相關的,可是對於源碼管理來講不必ide
格式化代碼,通常用不到。函數
用來動態獲取遠程代碼包的,目前支持的有 BitBucket、GitHub、Google Code 和 Launchpad。測試
這個命令在內部實際上分紅了兩步操做:第一步是下載源碼包,第二步是 執行 go install。優化
這個命令在內部實際上分紅了兩步操做:第一步是生成結果文件(可執行文件或者.a 包), 第二步會把編譯好的結果移到$GOPATH/pkg 或者 $GOPATH/bin。
自動讀取源碼目錄下面名爲*_test.go 的文件,生成並運行測試用的可執行文件。
查看對應包的文檔,如 執行 go doc net/http
查看http包裏面的函數.
通常使用ide 直接進去看,通常不這麼用。
godoc -http=:端口號,配置GOPATH. 如 godoc -http=:8080
, 瀏覽器中訪問 http://localhost:8080
,查看本地和本身寫的文檔
go doc fmt Printf
用來修復之前老版本的代碼到新版本,例如 go1 以前老版本的代碼轉化到 go1
查看 go 當前的版本
查看當前 go 的環境變量
列出當前所有安裝的 package
編譯並運行 Go 程序