欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Golang配置管理庫?Viper的教程詳解

 更新時間:2022年05月31日 10:53:48   作者:是記憶啦  
這篇文章主要介紹了Golang?配置管理庫?Viper,使用?viper?能夠很好的去管理你的配置文件信息,比如數(shù)據(jù)庫的賬號密碼,服務器監(jiān)聽的端口,你可以通過更改配置文件去更改這些內容,而不用定位到那一段代碼上去,提高了開發(fā)效率,需要的朋友可以參考下

一、Viper 是什么?

Viper 是應用程序的完整配置的管理工具,用于在應用程序中工作,可以處理所有類型的配置需求和格式。

二、安裝 Viper

go get github.com/spf13/viper

三、Viper 有什么作用

  • 設置默認值
  • 讀取 JSON、TOML、YAML(YML)、HCL、envfile 和 Java properties 屬性配置文件
  • 實時查看和重讀配置文件(可選)
  • 從環(huán)境變量中讀取
  • 從遠程配置系統(tǒng)(etcd 或 Consor)讀取數(shù)據(jù),并觀察變化
  • 從命令行標志讀取
  • 從緩沖區(qū)讀取
  • 設置顯式值

四、Viper demo 可供參考

func main() {
	ReadIni()
	ReadYml()
}
func ReadIni() {
	v := viper.New()
    v.AddConfigPath("./conf")  // 路徑(當前路徑下的conf文件夾)
	v.SetConfigName("configA") // 名稱
	v.SetConfigType("ini")     // 類型
	err := v.ReadInConfig() // 讀配置
	if err != nil {
		if _, ok := err.(viper.ConfigFileNotFoundError); ok {
			fmt.Println("找不到配置文件..")
		} else {
			fmt.Println("配置文件出錯..")
		}
	}
	// [section] 如果沒寫就是 default,也就是下面的 key 變成 default.username
	s1 := v.GetString("db.username")
	s2 := v.GetInt("web.port")
	fmt.Printf("ini 文件的數(shù)據(jù)庫名字:%v, 網絡端口號:%v \n", s1, s2)
}
func ReadYml() {
	v := viper.New()
	v.AddConfigPath("./conf")
	v.SetConfigName("configB")
	v.SetConfigType("yml")
	err := v.ReadInConfig()
	if err != nil {
		if _, ok := err.(viper.ConfigFileNotFoundError); ok {
			fmt.Println("找不到配置文件..")
		} else {
			fmt.Println("配置文件出錯..")
		}
	}
	s1 := v.GetString("db.username")
	s2 := v.GetInt("web.port")
	s3 := v.GetString("app.time")
	fmt.Printf("yml 文件的數(shù)據(jù)庫名字:%v, 網絡端口號:%v, apptime:%v \n", s1, s2, s3)
}

結果:

ini 文件的數(shù)據(jù)庫名字:admin, 網絡端口號:8080
yml 文件的數(shù)據(jù)庫名字:root, 網絡端口號:8088, apptime:05/30

配置文件內容

  • configA.ini
;數(shù)據(jù)庫配置
[db]
username=admin
password=123
driver=mysql
port=3306
;網絡配置
[web]
port=8080
  • configB.yml
# 數(shù)據(jù)庫配置
db: 
    username: root
    password: 123
    driver: mysql
    port: 3306
# 網絡配置
web:
    port: 8088
# APP配置
app: {id: 10,time: 05/30}

注意

以上例子在根目錄下面創(chuàng)建了 conf 文件夾,然后創(chuàng)建了 configA.ini 和 configB.yml 文件

五、總結

使用 viper 能夠很好的去管理你的配置文件信息,比如數(shù)據(jù)庫的賬號密碼,服務器監(jiān)聽的端口,你可以通過更改配置文件去更改這些內容,而不用定位到那一段代碼上去,提高了開發(fā)效率。 需要注意的是,你還需要補充配置文件的格式相關的知識,才能更好的去使用它。

到此這篇關于Golang 配置管理庫 Viper的文章就介紹到這了,更多相關go 配置管理庫 Viper內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 詳解Go語言如何解決map并發(fā)安全問題

    詳解Go語言如何解決map并發(fā)安全問題

    常說go語言是一門并發(fā)友好的語言,對于并發(fā)操作總會在編譯期完成安全檢查,所以這篇文章我們就來聊聊go語言是如何解決map這個數(shù)據(jù)結構的線程安全問題吧
    2024-04-04
  • goland把go項目打包進docker鏡像的全過程記錄

    goland把go項目打包進docker鏡像的全過程記錄

    golang編譯的應用是不需要依賴其他運行環(huán)境的,下面這篇文章主要給大家介紹了關于goland把go項目打包進docker鏡像的相關資料,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2022-08-08
  • golang中的jwt使用教程流程分析

    golang中的jwt使用教程流程分析

    這篇文章主要介紹了golang中的jwt使用教程,接下來我們需要講解一下Claims該結構體存儲了token字符串的超時時間等信息以及在解析時的Token校驗工作,需要的朋友可以參考下
    2023-05-05
  • Go語言映射內部實現(xiàn)及基礎功能實戰(zhàn)

    Go語言映射內部實現(xiàn)及基礎功能實戰(zhàn)

    這篇文章主要為大家介紹了Go語言映射的內部實現(xiàn)和基礎功能實戰(zhàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪<BR>
    2022-03-03
  • 深入了解Golang官方container/heap用法

    深入了解Golang官方container/heap用法

    在?Golang?的標準庫?container?中,包含了幾種常見的數(shù)據(jù)結構的實現(xiàn),其實是非常好的學習材料。今天我們就來看看?container/heap?的源碼,了解一下官方的同學是怎么設計,我們作為開發(fā)者又該如何使用
    2022-10-10
  • Golang中defer與recover的組合使用示例代碼

    Golang中defer與recover的組合使用示例代碼

    Go語言的defer和recover機制為開發(fā)者提供了一種優(yōu)雅處理錯誤的方式,幫助保持程序的穩(wěn)定性和可維護性,這篇文章主要介紹了Golang中defer與recover組合使用的相關資料,需要的朋友可以參考下
    2025-06-06
  • Golang打包go項目部署到linux服務器正確方法

    Golang打包go項目部署到linux服務器正確方法

    這篇文章主要給大家介紹了關于Golang打包go項目部署到linux服務器的正確方法,Go?是一個開源的編程語言,它能讓構造簡單、可靠且高效的軟件變得容易,具有簡潔、快速、安全,并行、有趣、開源,內存管理、v數(shù)組安全、編譯迅速的特征,需要的朋友可以參考下
    2023-10-10
  • Go環(huán)境變量配置,及GOROOT、GOPATH的區(qū)別小結

    Go環(huán)境變量配置,及GOROOT、GOPATH的區(qū)別小結

    本文主要介紹了Go環(huán)境變量配置,及GOROOT、GOPATH的區(qū)別小結,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-09-09
  • goframe重寫FastAdmin后端實現(xiàn)實例詳解

    goframe重寫FastAdmin后端實現(xiàn)實例詳解

    這篇文章主要為大家介紹了goframe重寫FastAdmin后端實現(xiàn)實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-12-12
  • golang之tcp自動重連實現(xiàn)方法

    golang之tcp自動重連實現(xiàn)方法

    下面小編就為大家?guī)硪黄猤olang之tcp自動重連實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06

最新評論