天天看點

Go語言學習---Day2

Go環境變量以及MinGW的安裝和環境配置

安裝教程

MinGW下載下傳和安裝教程 (biancheng.net)

Installation - Package Control

build-web-application-with-golang/01.1.md at master · astaxie/build-web-application-with-golang (github.com)

Sublime Text 2搭建Go開發環境(Windows) - Bill Yuan - 部落格園 (cnblogs.com)

Sublime Text 3 安裝Go語言相關插件gosublime《小白也能學會的教程》_MyHeartWillGoOn-CSDN部落格

go語言開發工具sublime text3 + gosublime配置 - 北京雨夜 - 部落格園 (cnblogs.com)

軟體包

nsf/gocode: An autocompletion daemon for the Go programming language (github.com)

格式化代碼

go fmt

gofmt

)可以将源代碼格式化成符合官方統一标準的風格,遵循統一的代碼風格是 Go 開發中無可撼動的鐵律,是以在必須編譯或送出版本管理系統之前使用 

gofmt

 來格式化代碼。

        在指令行輸入 

gofmt –w program.go

 會格式化該源檔案的代碼然後将格式化後的代碼覆寫原始内容(如果不加參數 

-w

 則隻會列印格式化後的結果而不重寫檔案);

gofmt -w *.go

 會格式化并重寫所有 Go 源檔案;

gofmt map1

 會格式化并重寫 map1 目錄及其子目錄下的所有 Go 源檔案。

  gofmt

 也可以通過在參數 

-r

 後面加入用雙引号括起來的替換規則實作代碼的簡單重構,規則的格式:

<原始内容> -> <替換内容>

                執行個體:

        gofmt -r '(a) -> a' –w *.go
           

                上面的代碼會将源檔案中沒有意義的括号去掉。

        gofmt -r 'a[n:len(a)] -> a[n:]' –w *.go
           

                上面的代碼會将源檔案中多餘的 

len(a)

 去掉。

        gofmt –r 'A.Func1(a,b) -> A.Func2(b,a)' –w *.go
           

                上面的代碼會将源檔案中符合條件的函數的參數調換位置。

生成代碼文檔

go doc

 工具

        會從 Go 程式和封包件中提取頂級聲明的首行注釋以及每個對象的相關注釋,并生成相關文檔。

  go doc package

        擷取包的文檔注釋,例如:

go doc fmt

 會顯示使用 

godoc

 生成的 

fmt

 包的文檔注釋。

  go doc package/subpackage

        擷取子包的文檔注釋,例如:

go doc container/list

  go doc package function

        擷取某個函數在某個包中的文檔注釋,例如:

go doc fmt Printf

 會顯示有關 

fmt.Printf()

 的使用說明。

        這個工具隻能擷取在 Go 安裝目錄下 

../go/src

 中的注釋内容。此外,它還可以作為一個本地文檔浏覽 web 伺服器。在指令行輸入 

godoc -http=:6060

,然後使用浏覽器打開 http://localhost:6060 後,你就可以看到本地文檔浏覽伺服器提供的頁面。

其他工具

  go install

        是安裝 Go 包的工具,類似 Ruby 中的 rubygems。主要用于安裝非标準庫的封包件,将源代碼編譯成對象檔案。

  go fix

        用于将你的 Go 代碼從舊的發行版遷移到最新的發行版,它主要負責簡單的、重複的、枯燥無味的修改工作,如果像 API 等複雜的函數修改,工具則會給出檔案名和代碼行數的提示以便讓開發人員快速定位并更新代碼。Go 開發團隊一般也使用這個工具更新 Go 内置工具以及 谷歌内部項目的代碼。

go fix

 之是以能夠正常工作是因為 Go 在标準庫就提供生成抽象文法樹和通過抽象文法樹對代碼進行還原的功能。該工具會嘗試更新目前目錄下的所有 Go 源檔案,并在完成代碼更新後在控制台輸出相關的檔案名稱。

  go test

        是一個輕量級的單元測試架構