代码拉取完成,页面将自动刷新
println("config")
//项目根目录下 /config/config.yml
//g.Config()方式
g.Config().SetPath("/config/config.yml")
ports := g.Config().GetString("server.ports")
fmt.Println(ports)
//gcfg方式
gcfg := gcfg.New("C://GO//gopath//src//dw.com/blogG//config//config.yml")
a := gcfg.GetString("server.ports", "config.yml")
fmt.Println(a)
配置文件内容:
sever:
ports:81,82
info:abc
SetPath
和New
方法都是给定配置文件的目录地址,不是给配置文件路径。这里有示例:
http://gf.johng.cn/608519
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
//g.Config()方式
g.Config().SetPath("d://")
configpath := g.Config().GetFilePath("config.yml")
fmt.Println(configpath)
ports := g.Config().Get("server.ports", "config.yml")
info := g.Config().Get("info", "config.yml")
fmt.Println(ports, info)
真心取不出来,配置项目相对记录和磁盘绝对路径都不行
请帮忙看下那里写错了呀
info: abc 中间必须有个空格?有这个必要吗
我觉得两个问题
1.现在不能配置项目相对路径,必须要绝对路径,gin框架 beego框架的配置应该都可以相对路径的,必须绝对路径真的很难受
2.info: abc可以读,info:abc读不了,不知道合理不合理
1、yaml配置文件格式要求所有的数据项都应当以:空格
分隔,你不带空格不符合yaml格式规范,自然无论是gf还是其他解析器都没有办法,你的配置可以改成如下形式:
server:
ports: 81,82
info: abc
2、gf的配置管理器是支持相对路径的,我看你的示例中是使用的windows系统,我特地使用了虚拟机给你截了个图,以下是使用相对路径的示例程序(从你的代码上做了小修改):
import (
"fmt"
"gitee.com/johng/gf/g"
)
func main() {
g.Config().SetPath("../../")
configpath := g.Config().GetFilePath("config.yml")
fmt.Println(configpath)
ports := g.Config().Get("server.ports", "config.yml")
info := g.Config().Get("info", "config.yml")
fmt.Println(ports, info)
}
以下是截图:
感谢大佬!
登录 后才可以发表评论