当前位置:知识百科 > 正文

go语言读取配置文件_linux读取内核参数配置文件

更新时间:2026-04-17 23:42 阅读量:167

go 怎么写入conf配置文件

为了快速声明配置文件中的全局变量而写的封装包,大家笑纳,废话少说,直接上方法.

go get "github.com/luckykris/go-utilbox/Env"

go get "github.com/luckykris/go-utilbox/Conf/ReadConf"

vim test.cfg,写入如下配置内容:

[gms]

[db]

db = mysql

user = root

password = redhat

package main

import(

"github.com/luckykris/go-utilbox/Env"

"github.com/luckykris/go-utilbox/Conf/ReadConf"

"fmt"

)

func main(){

Init()

}

func Init(){

//定义gms配置区域

gms:=ReadConf.CONFIG{

AREA:"gms",//区域名

CONF:map[string]ReadConf.CONFIGROW{

"port":{TYPE:"int",EXIT:false,DEFAULT:1},//具体配置,

//此条为port配置默认值为1

//类型为int

//注意:如果标明类型是int默认值

//不要加双引号""不然会被认为 //是字符串.

//false的意思是,当配置文件里读 //取不到这个配置的时候程序退出

},

//定义db配置区域

db:=ReadConf.CONFIG{

AREA:"db",//区域名

"db":{TYPE:"string",EXIT:false,DEFAULT:"mongo"},

"user":{TYPE:"string",EXIT:false,DEFAULT:"root"},

"password":{TYPE:"string",EXIT:false,DEFAULT:"root"},

"host":{TYPE:"string",EXIT:false,DEFAULT:"localhost"},

//让程序读取配合文件,并且把需要提取的配置区域变量传入LodConf函数

//这个函数执行之后,所有实现定义的配置就都生成全局变量了.

ReadConf.LoadConf("test.cfg",gms,db)

//以下是对配置文件的全局变量的调用方式,用Env.ENV["配置区域/配置条目"].(类型)

//因为返回的值是interface{}类型的,所以需要自己转换下类型.

fmt.Printf("gms/port:%d\n",Env.ENV["gms/port"].(int))

fmt.Printf("db/port:%d\n",Env.ENV["db/port"].(int))

fmt.Printf("db/db:%s\n",Env.ENV["db/db"].(string))

fmt.Printf("db/user:%s\n",Env.ENV["db/user"].(string))

fmt.Printf("db/password:%s\n",Env.ENV["db/password"].(string))

fmt.Printf("db/host:%s\n",Env.ENV["db/host"].(string))

db/db:mysql

db/user:root

db/password:redhat

Go 各种方式加载配置文件

go run 或者 go build后在配置目录的相对路径上执行

假设当前目录如下:

├─config

│ │ main.go

│ │

│ └─file // 配置文件目录

│ config.ini

也就是说无论你是go run或者build后的执行程序,都应该在你执行目录下

有该配置文件路径如file/config.ini

否则就会发生以下错误, 无法读取配置文件

panic: Error:can not read file "./file/config.ini"

使用绝对路径读取配置文件

如果配置文件动态的话, 具体怎么传入 配置文件路径

go-bindata 把配置文件打包进去

glang读取的配置文件怎么上线

以上就是日讯小常识小编为大家整理的go语言读取配置文件相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!