本文目錄一覽:
- 1、Golang常用包有哪些
- 2、一起使用GO(golang) 來做一個後台管理系統系列10 使用mod 來管理包
- 3、golang中自定義包
- 4、如何在golang使用自定義的包
- 5、Golang 公共變量包——expvar
Golang常用包有哪些
⑴ Go Kit
它本身不是一個框架,而是一套微服務工具集,可以用於解決分佈式系統開發中的大多數常見問題,所以使用者可以專註於你的業務邏輯中。
⑵ Gingko
是一個Go測試框架,目的是幫助我們使用行為驅動開發風格高效地編寫富有表現力和全面的測試,它有着非常良好的幫助文檔,任何人都可以輕鬆地在項目中集成使用它。
⑶ NSQ
實時分佈式消息傳遞平台,提供高可用性和可靠的消息傳遞保證,可以水平擴展,支持負載均衡,安裝部署非常方便。
⑷ Goose
Golang中最佳的數據庫遷移包,通過創建增量SQL更改和Go函數來管理數據庫結構,在Go1.16版本以上,還支持了嵌入式sql遷移。
⑸ GORM
是一個功能齊全的Golang對象關係映射庫,是一種開發人員友好的工具,用於在不兼容的類型系統之間轉換數據,專門設計用於在類型系統之間切換時最大限度地減少重寫代碼。
⑹ Authboss
一個模塊化的身份驗證包,使用它你可以快速地在項目中進行身份驗證管理。它有幾個常見的身份驗證和授權模塊供開發人員選擇。
⑺ cli
是一個簡單快捷的命令行管理包,用於為Go語言構建命令行應用程序,允許開發人員開發自己的富有表現力的命令行應用程序,用於創建標誌、bash完成例程並生成幫助文本。
⑻ Vegeta
是一個用於HTTP負載測試的工具包,這個多功能工具專為測試具有恆定請求率的HTTP服務而設計。它可以有效地分析程序中的潛在問題,是一個始終貫穿以提高整體性能為目的的包。
一起使用GO(golang) 來做一個後台管理系統系列10 使用mod 來管理包
原項目採用gopath來管理的引用庫,但有小夥伴反應說包不好下,雖然我把對應的包做了百度雲盤共享,但小夥伴們仍然感覺不太好用。特別是最近把go SDK升級到1.18.在管理包上終於下決心使用mod來重新重構下包管理。
一、配置啟用Mod
首先那:
確定是否開啟了
如果沒有開啟請開啟它。開啟命令執行:
#設置 使用七牛雲下載
來看下現在的配置:
二、創建項目
上邊都說了如何開啟了。下面介紹下如何使用
1. 可以隨便找一個目錄創建項目:myGoProjectNew
這個時候查看目錄下會多出一個go.mod的文件:
裏面也有了。標識了下SDK的版本1.18
2. 創建 main.go文件
3. 執行:
這時候就會自動下載引用了。
查看Go.mod文件
最後放兩張效果圖:
感覺還可以得點贊收藏哦。想要源碼的私信我獲取源碼。
golang中自定義包
golang中默認以文件夾名作為包名,導入的文件的路徑為$GOPATH/src
例如我們在 $GOPATH/src下面建立一個gopackage的一個文件夾,下面建立一個abc.go的文件,文件內容如下
則我們在包外部使用gopackage包中的函數時,導入格式是這樣的:
我們在abc.go文件中需要導出的函數的首字母都是大寫的,這是因為 只有首字母大寫的標識符才可以導出 ,mutiply(int,int)int函數不可以被導出,編譯失敗。
當我們使用多個自定義包時如果發生衝突,怎麼辦呢,我們可以給不同的包提供不同的別名
如果abc.go文件中包名不是文件夾的名字,如
則在外部導入是,golang會自動為該包提供別名
如何在golang使用自定義的包
例如你自定義的包在 %GOPATH%\custom\mypkg 你的包名也應該聲明為 package mypkg 在其它包中 import “custom/mypkg”
Golang 公共變量包——expvar
expvar 包是 Golang 官方提供的公共變量包,它可以輔助調試全局變量。支持一些常見的類型: float64 、 int64 、 Map 、 String 。如果我們的程序要用到上面提的四種類型(其中,Map 類型要求 Key 是字符串)。可以考慮使用這個包。
這些基礎的功能就不多說了,大家可以直接看官方的 文檔 。
看源碼的時候發現一個非常有意思的調試接口, /debug/vars 會把所有註冊的變量打印到接口裏面。這個接口很有情懷。
感覺這個包還是針對簡單變量,比如整形、字符串這種比較好用。
看到就寫了,並沒有什麼沉澱,寫得挺亂的。這個包很簡單,但是裏面還是有些可以借鑒的編碼和設計。新版本的 Golang 已經能解析整形為 Key 的哈希表了,這個包啥時候能跟上支持一下?
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/157364.html