亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

golang怎么讀取ini、json、yaml配置文件

發布時間:2022-05-13 15:57:46 來源:億速云 閱讀:450 作者:iii 欄目:開發技術

本文小編為大家詳細介紹“golang怎么讀取ini、json、yaml配置文件”,內容詳細,步驟清晰,細節處理妥當,希望這篇“golang怎么讀取ini、json、yaml配置文件”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

日常項目中,讀取各種配置文件是避免不了的,這里介紹一個能讀取多種配置文件的庫,viper

viper讀取ini文件

config := viper.New()
config.AddConfigPath("./conf/")  // 文件所在目錄
config.SetConfigName("b")        // 文件名
config.SetConfigType("ini")      // 文件類型
 
if err := config.ReadInConfig(); err != nil {
    if _, ok := err.(viper.ConfigFileNotFoundError); ok {
        fmt.Println("找不到配置文件..")
    } else {
        fmt.Println("配置文件出錯..")
    }
}
 
host := config.GetString("redis.host")  // 讀取配置
fmt.Println("viper load ini: ", host)

b.ini文件如下

[mysql]
username='root'
password='123456'
 
[redis]
host='127.0.0.1'
poet=3306
 
[mongodb]
user='admin'
password='admin'

viper讀取json文件

config := viper.New()
config.AddConfigPath("./conf/")
config.SetConfigName("c")
config.SetConfigType("json")
 
if err := config.ReadInConfig(); err != nil {
    if _, ok := err.(viper.ConfigFileNotFoundError); ok {
        fmt.Println("找不到配置文件..")
    } else {
        fmt.Println("配置文件出錯..")
    }
}
 
version := config.GetString("version")
origin := config.GetString("host.origin")
 
fmt.Println(version)
fmt.Println(origin)
 
// 讀取到map中
host := config.GetStringMapString("host")
fmt.Println(host)
fmt.Println(host["origin"])
fmt.Println(host["port"])
 
allSettings := config.AllSettings()
fmt.Println(allSettings)

c.json文件如下

{
  "version": "2.0",
  "secret": "footmark",
  "host": {
    "origin": "http://www.baidu.com",
    "port": 8080
  }
}

viper讀取yaml文件

config := viper.New()
config.AddConfigPath("./conf/")
config.SetConfigName("a")
config.SetConfigType("yaml")
 
if err := config.ReadInConfig(); err != nil {
    if _, ok := err.(viper.ConfigFileNotFoundError); ok {
        fmt.Println("找不到配置文件..")
    } else {
        fmt.Println("配置文件出錯..")
    }
}
 
host := config.GetString("database.host")
fmt.Println("viper load yml: ", host)
 
allSettings := config.AllSettings()
fmt.Println(allSettings)

a.yaml文件如下

database:
  host: 127.0.0.1
  user: root
  dbname: test
  pwd: 123456

viper常用方法

// viper 常用讀取配置的方法
Get(key string) : interface{}
GetBool(key string) : bool
GetFloat64(key string) : float64
GetInt(key string) : int
GetIntSlice(key string) : []int
GetString(key string) : string
GetStringMap(key string) : map[string]interface{}
GetStringMapString(key string) : map[string]string
GetStringSlice(key string) : []string
GetTime(key string) : time.Time
GetDuration(key string) : time.Duration
IsSet(key string) : bool
AllSettings() : map[string]interface{}

讀到這里,這篇“golang怎么讀取ini、json、yaml配置文件”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

汶川县| 雅江县| 镇原县| 灌阳县| 全椒县| 蕲春县| 元谋县| 乐业县| 宝兴县| 公安县| 宜阳县| 定陶县| 德兴市| 财经| 井研县| 尚义县| 青田县| 乌兰县| 宣恩县| 裕民县| 道孚县| 乌拉特前旗| 修武县| 葫芦岛市| 伊川县| 辉县市| 阳信县| 凭祥市| 六盘水市| 青铜峡市| 万荣县| 奉贤区| 三都| 皮山县| 梧州市| 武平县| 正镶白旗| 伊金霍洛旗| 库车县| 湘潭县| 涞源县|