GO工作空間:
? ? ? 首先什么是GOROOT 和 GOPATH铸抑、GOBIN 贡耽,執(zhí)行 go env,看下具體的開(kāi)發(fā)環(huán)境的配置
? ? ?????GOROOT表示的是go語(yǔ)言編譯鹊汛、工具蒲赂、標(biāo)準(zhǔn)庫(kù)等的安裝路徑(比如:C:\GO),簡(jiǎn)而言之刁憋,就是安裝路徑滥嘴,GO開(kāi)發(fā)環(huán)境安裝好之后就有了。
? ? ? ? ? ?GOPATH 可以自定義工作空間 -- workspace(其實(shí)就是計(jì)算機(jī)上面的一個(gè)工作目錄至耻,go1.8之后默認(rèn)在用戶目錄的go文件夾之下若皱,如F:\go) 由src、bin尘颓、pkg三個(gè)目錄組成通常Golang并沒(méi)有限制一個(gè)工作區(qū)必須對(duì)應(yīng)一個(gè)項(xiàng)目走触。根據(jù)Golang的設(shè)計(jì)理念,一般來(lái)講疤苹,我們可以將多個(gè)項(xiàng)目放置于同一個(gè)工作區(qū)互广。如果需要設(shè)置多個(gè)空間,只需要在設(shè)置GOPATH環(huán)境變量是包含多個(gè)值
? ? 作用:src 存放Go源代碼卧土,它們被組織成包(每個(gè)目錄都對(duì)應(yīng)一個(gè)包)
? ? ? ? ? ? ? ?pkg 存放編譯后生成的文件兜辞,比如:.a文件(靜態(tài)庫(kù)文件)
????????????????bin 存放編譯后的可執(zhí)行文件
????可以通過(guò)go工具構(gòu)建源碼包迎瞧,并將其生成的二進(jìn)制文件安裝到 pkg 和 bin 目錄中
????????go install?命令產(chǎn)生可執(zhí)行的二進(jìn)制文件,然后會(huì)把二進(jìn)制可執(zhí)行文件安裝到工作空間的bin目錄逸吵,我們可以直接運(yùn)行可執(zhí)行文件
? ? ? ? 至于GOBIN凶硅,是強(qiáng)制替代工作空間的bin目錄,作為go install 目標(biāo)保存路徑扫皱,這可以避免將所有工作空間的bin路徑添加到PATH 環(huán)境變量中(因此在使用版本控制時(shí)足绅,盡量忽略bin、pkg韩脑,建議直接在src氢妈,或者具體的子包下創(chuàng)建代碼倉(cāng)庫(kù))
GO命令:
? ? ? ? 在終端輸入? go help?就能查看所有有關(guān)命令和相關(guān)命令功能介紹
? ?????build: 編譯包和依賴(lài)
? ? ? ?clean: 移除對(duì)象文件
????????doc: 顯示包或者符號(hào)的文檔
????????env: 打印go的環(huán)境信息
????????bug: 啟動(dòng)錯(cuò)誤報(bào)告
????????fix: 運(yùn)行g(shù)o tool fix
????????fmt: 運(yùn)行g(shù)o fmt進(jìn)行格式化
????????generate: 從processing source生成go文件
????????get: 下載并安裝包和依賴(lài)
????????install: 編譯并安裝包和依賴(lài)(編譯執(zhí)行文件,放到$GOPATH/bin 編譯模塊段多,放到$GOPATH/pkg)
????????list: 列出包
????????run: 編譯并運(yùn)行g(shù)o程序
????????test: 運(yùn)行測(cè)試
????????tool: 運(yùn)行g(shù)o提供的工具
????????version: 顯示go的版本
????????vet: 運(yùn)行g(shù)o tool vet