Go 編程語言是一個(gè)使得程序員更加有效率的開源項(xiàng)目撤逢。Go 是有表達(dá)力膛锭、簡 潔、清晰和有效率的蚊荣。它的并行機(jī)制使其很容易編寫多核和網(wǎng)絡(luò)應(yīng)用,而 新 的類型系統(tǒng)允許構(gòu)建有 性的模塊化程序初狰。Go 編譯到機(jī)器碼非常快 速,同時(shí)具有便利的垃圾回收和強(qiáng)大的運(yùn)行時(shí)反射互例。它是快速的奢入、靜態(tài)類 型編譯語言,但是感覺上是動(dòng)態(tài)類型的,解釋型語言。
開發(fā)目錄
.
├── go_path
│ ├── bin //go bin把編譯好的結(jié)果移到 $GOPATH/pkg 或者 $GOPATH/bin
│ ├── pkg
│ ├── src //開發(fā)目錄
一媳叨、首先要配置一個(gè)建立go的環(huán)境變量文件夾
vim ~/.bash_profile
加入
export GOPATH=$HOME/go
export PATH=$HOME/bin:$GOPATH/bin:$PATH
保存
source ~/.bash_profile
二腥光、第一個(gè)demo,建一個(gè)main.go
package main//所有的 Go 文件以 package <something>開頭,對(duì)于獨(dú)立運(yùn)行的執(zhí)行文件必須是 package main;
import "fmt"http://緊跟著是 import,需要將fmt包加入main关顷,不是main的其他包都被稱為庫
func main() {
fmt.Printf("Hello,my name is xiaomin")
}
三、構(gòu)建 Go 程序的最佳途徑是使用 go 工具
1武福、執(zhí)行main.go在terminal中看
go run main.go
2议双、go build 加上可以編譯的go源文件可以得到一個(gè)可執(zhí)行文件。
構(gòu)建 main 只需要go build main.go結(jié)果是生成main的可執(zhí)行文件,./main就可以執(zhí)行
go build main.go
3艘儒、go install 在編譯源代碼之后還安裝到指定的目錄聋伦。go install 命令在內(nèi)部實(shí)際上分成了兩步操作:第一步是生成結(jié)果文件(可執(zhí)行文件或者.a包),第二步會(huì)把編譯好的結(jié)果移到 $GOPATH/pkg 或者 $GOPATH/bin界睁。
go install
4觉增、go get 從指定源上面下載或者更新指定的代碼和依賴,并對(duì)他們進(jìn)行編譯和安裝
go get = git clone + go install
5翻斟、go clean 命令是用來移除當(dāng)前源碼包里面編譯生成的文件
6逾礁、go fmt 命令主要是用來幫你格式化所寫好的代碼文件。使用go fmt命令访惜,更多時(shí)候是用gofmt嘹履,而且需要參數(shù)-w,否則格式化結(jié)果不會(huì)寫入文件债热。gofmt -w src砾嫉,可以格式化整個(gè)項(xiàng)目。
7窒篱、go test 命令焕刮,會(huì)自動(dòng)讀取源碼目錄下面名為*_test.go的文件,生成并運(yùn)行測試用的可執(zhí)行文件墙杯。輸出的信息類似配并。
8、go doc 命令其實(shí)就是一個(gè)很強(qiáng)大的文檔工具高镐。
如何查看相應(yīng)package的文檔呢溉旋? 例如builtin包,那么執(zhí)行g(shù)o doc builtin嫉髓;如果是http包观腊,那么執(zhí)行g(shù)o doc net/http;查看某一個(gè)包里面的函數(shù)算行,那么執(zhí)行g(shù)odoc fmt Printf恕沫;也可以查看相應(yīng)的代碼,執(zhí)行g(shù)odoc -src fmt Printf纱意;
通過命令在命令行執(zhí)行 godoc -http=:端口號(hào) 比如godoc -http=:8080。然后在瀏覽器中打開127.0.0.1:8080鲸阔,你將會(huì)看到一個(gè)golang.org的本地copy版本偷霉,通過它你可以查詢pkg文檔等其它內(nèi)容迄委。如果你設(shè)置了GOPATH,在pkg分類下类少,不但會(huì)列出標(biāo)準(zhǔn)包的文檔叙身,還會(huì)列出你本地GOPATH中所有項(xiàng)目的相關(guān)文檔,這對(duì)于經(jīng)常被限制訪問的用戶來說是一個(gè)不錯(cuò)的選擇硫狞。
9信轿、go fix 用來修復(fù)以前老版本的代碼到新版本,例如go1之前老版本的代碼轉(zhuǎn)化到go1
10残吩、go version 查看go當(dāng)前的版本
11财忽、go env 查看當(dāng)前go的環(huán)境變量
12、go list 列出當(dāng)前全部安裝的package