Go语言从INI配置文件中读取需要的值

INI配置文件是一种简单的配置文件格式,通常用于配置应用程序选项。在Go语言中,可以使用ini包来解析INI配置文件并读取值。下面是一个简单的例子:

go
package main

import (
    "fmt"
    "gopkg.in/ini.v1"
)

// 定义一个结构体映射 ini 文件的 section
type App struct {
    Name string
    API  struct { 
        Endpoint string 
        Key string
    }
}

func main() {
    // 解析 ini 文件
    cfg, err := ini.Load("config.ini")
    if err != nil {
        fmt.Printf("Fail to read file: %v", err)
    }
    
    // 映射至结构体
    var app Config
    err = cfg.Section("app").MapTo(&app)
    if err != nil {
        fmt.Printf("cfg.MapTo err: %v", err)
    }
    
    // 读取 app 下的 Name 键对应的值
    appName := cfg.Section("app").Key("Name").String()
    fmt.Printf("app name is: %s", appName)
    
    // 读取 API 下的 Endpoint 和 Key 键对应的值
    APIEndpoint := cfg.Section("app").Section("API").Key("Endpoint").String() 
    APIKey := cfg.Section("app").Section("API").Key("Key").String()
    fmt.Printf("API endpoint is: %s, API key is: %s", APIEndpoint, APIKey)
}

以上代码会解析config.ini配置文件,并读取app name、API endpoint和API key等值。config.ini文件内容格式如下:

ini
; comments
[app]
Name = myapp

[app.API]
Endpoint = https://example.com  
Key = abcdefgh

通过ini包,可以很方便地在Go语言中读写INI配置文件,获取所需的配置信息。ini包支持INI文件中普通键值对以及[section]形式的分组,相比其他语言中的INI文件解析,ini包更加强大和易用。

© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享
评论 抢沙发

请登录后发表评论