先看一下目錄結(jié)構(gòu),注意這里的src名稱是必須的,go在設(shè)置了GOPATH后,默認(rèn)會添加src去尋找package,暫未查詢是否有方法不按照src查詢
烏達(dá)ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為成都創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!
根據(jù)上面的描述,Go語言中通過包中函數(shù)的名稱來區(qū)分公共函數(shù)和私有函數(shù),我們在main函數(shù)中是無法調(diào)用myPrivateFunc的
此時如果執(zhí)行通過go run方式執(zhí)行,會看到如下的提示信息,這與大部分語言對于包管理方式相關(guān),所以我們通過兩種不同的方法來讓代碼執(zhí)行起來
返回如下,這里面對我們后續(xù)執(zhí)行有影響的兩個參數(shù)GO111MODULE和GOPATH
如果要使用gopath模式引用包,則需要關(guān)閉mod模式
設(shè)置GOPATH為當(dāng)前路徑,即main.go所在的路徑
此時再查看go env時,GOPATH已經(jīng)發(fā)生改變
我們再次嘗試執(zhí)行代碼
可以看到public函數(shù)被調(diào)用
⑴ Go Kit
它本身不是一個框架,而是一套微服務(wù)工具集,可以用于解決分布式系統(tǒng)開發(fā)中的大多數(shù)常見問題,所以使用者可以專注于你的業(yè)務(wù)邏輯中。
⑵ Gingko
是一個Go測試框架,目的是幫助我們使用行為驅(qū)動開發(fā)風(fēng)格高效地編寫富有表現(xiàn)力和全面的測試,它有著非常良好的幫助文檔,任何人都可以輕松地在項目中集成使用它。
⑶ NSQ
實(shí)時分布式消息傳遞平臺,提供高可用性和可靠的消息傳遞保證,可以水平擴(kuò)展,支持負(fù)載均衡,安裝部署非常方便。
⑷ Goose
Golang中最佳的數(shù)據(jù)庫遷移包,通過創(chuàng)建增量SQL更改和Go函數(shù)來管理數(shù)據(jù)庫結(jié)構(gòu),在Go1.16版本以上,還支持了嵌入式sql遷移。
⑸ GORM
是一個功能齊全的Golang對象關(guān)系映射庫,是一種開發(fā)人員友好的工具,用于在不兼容的類型系統(tǒng)之間轉(zhuǎn)換數(shù)據(jù),專門設(shè)計用于在類型系統(tǒng)之間切換時最大限度地減少重寫代碼。
⑹ Authboss
一個模塊化的身份驗證包,使用它你可以快速地在項目中進(jìn)行身份驗證管理。它有幾個常見的身份驗證和授權(quán)模塊供開發(fā)人員選擇。
⑺ cli
是一個簡單快捷的命令行管理包,用于為Go語言構(gòu)建命令行應(yīng)用程序,允許開發(fā)人員開發(fā)自己的富有表現(xiàn)力的命令行應(yīng)用程序,用于創(chuàng)建標(biāo)志、bash完成例程并生成幫助文本。
⑻ Vegeta
是一個用于HTTP負(fù)載測試的工具包,這個多功能工具專為測試具有恒定請求率的HTTP服務(wù)而設(shè)計。它可以有效地分析程序中的潛在問題,是一個始終貫穿以提高整體性能為目的的包。
添加環(huán)境變量
GOPATH是包加載路徑的變量,根據(jù)需要設(shè)置路徑
在 /etc/profile中添加
export PATH=$PATH:/var/local/go/bin
export GOROOT=/var/local/go
export GOPATH=/home/go/gopath
使環(huán)境變量生效
source /etc/profile
使用 go env 能正常打印環(huán)境信息說明安裝成功了。
安裝第三方包
使用 go get安裝包
go get -u -v -x golang.org/x/net/http
golang.org國內(nèi)安裝不了,可以使用github下載然后做個軟鏈接
go get -u -v -x github.com/golang/net/http
mkdir $GOPATH/src/golang.org
ln -s $GOPATH/src/github.com $GOPATH/src/golang.org/x