读取ini配置文件的方法及注意事项

假设有如下内容的demo.ini配置文件
 
; 数据库连接参数
# 重要提醒①:等号右边的值可以选择是否用双引号包围,建议字符串类型用双引号包围,数字类型不用双引号包围。
# 重要提醒②:分号和井号都是注释符号,它们不能作为值的一部分,否则解析时其自身及其右侧的内容都会被丢弃。
[database]
host = "localhost"
name = "dbname"
port = 3306
user = "user_root"
pass = "pass_1234"
lang = "PHP;Go;Java"
form = "input#textarea#select"
 
 
 
读取demo.ini配置文件
 
package main

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

func main() {
   // 构造出ini文件的硬盘路径
   path, _ := filepath.Abs(".")
   file := path + "/demo.ini"

   // 加载ini文件
   load, _ := ini.Load(file)

   // 选择[database]节点
   section := load.Section("database")

   // 根据配置项的key获取其值
   host := section.Key("host")
   name := section.Key("name")
   port := section.Key("port")
   user := section.Key("user")
   pass := section.Key("pass")
   lang := section.Key("lang")
   form := section.Key("form")

   fmt.Printf("主机:%+v \n", host) // 主机:localhost
   fmt.Printf("库名:%+v \n", name) // 库名:dbname
   fmt.Printf("端口:%+v \n", port) // 端口:3306
   fmt.Printf("账号:%+v \n", user) // 账号:user_root
   fmt.Printf("密码:%+v \n", pass) // 密码:pass_1234
   fmt.Printf("语言:%+v \n", lang) // 语言:"PHP    重要说明:由于该项的值有;号,所以解析结果并不是我们期望的。
   fmt.Printf("表单:%+v \n", form) // 表单:"input  重要说明:由于该项的值有#号,所以解析结果并不是我们期望的。
}

Copyright © 2024 码农人生. All Rights Reserved