go revel 初探二

在自己的revel项目中增加新的配置文件

conf/my.conf,内容如下:

# 网站信息配置
[website]
website.version=1.0
website.sitedomain=

网上查了半天,竟然没有找到revel的配置怎么读取,开始直接使用"github.com/robfig/config"库(当然revel本身也使用这个库),这是我的数据库配置

    //判断是否是系统的分隔符
    separator := "/"
    if os.IsPathSeparator(‘\\‘) {
        separator = "\\"
    } else {
        separator = "/"
    }

    config_file := (revel.BasePath + "/conf/database.conf")
    config_file = strings.Replace(config_file, "/", separator, -1)
    c, _ := config.ReadDefault(config_file)

    db_driver, _ := c.String("database", "db.driver")
    db_dbname, _ := c.String("database", "db.dbname")
    db_user, _ := c.String("database", "db.user")
    db_password, _ := c.String("database", "db.password")
    db_host, _ := c.String("database", "db.host")
    //db_prefix, _ := c.String("database", "db.prefix")
    fmt.Println(db_driver)    

可以使用,后来想,revel本身应该实现了读取配置文件的功能才对,通过对revel配置的查看找到了revel.LoadConfig()方法,尝试使用之

    conf, err := revel.LoadConfig("my.conf")
    if err != nil {
        fmt.Println(err)
    }
    fmt.Println(conf.Raw().String("website", "website.version")) //成功打印出结果,也可以使用RawString()替换String()

本来以为可以直接像使用revel.Config.String("website.version")这样获取,结果不可以,先这样,后面继续学习看看

时间: 2024-10-29 04:57:29

go revel 初探二的相关文章

EF6.0+APS.NET MVC5.0项目初探二(类库引用关系及说明)

接着上一篇(EF6.0+APS.NET MVC5.0项目初探一(界面展示),说说我搭建项目的一点心得. 第一步:我喜欢先建一个空的解决方案,只是个人喜好,不喜勿喷,呵呵. 如图: 第二步:添加项目所需要的类库: 如图: 第三步:添加类库引用 UI.Manage->BusinessLogic.BLL,Domain.Entity,Domain.ViewModel,Infrastructure.Common,UI.HtmlHelper BusinessLogic.BLL->Domain.Entity

go revel 初探一

1.app/controllers/app.go控制器 package controllers import "github.com/revel/revel" type App struct { *revel.Controller } func (c App) Index() revel.Result { str := "传递一个变量到模版看看" return c.Render(str) } func (c App) Hello(Name string) revel

初探二叉搜索树

二叉搜索树 二叉搜索树很明显来自于一种思想:二分查找. 二叉搜索树 很明显: 二叉搜索树并不要求是一棵完全二叉树 则左子树上所有结点的值均小于它的根结点的值:右子树上所有结点的值均大于它的根结点的值: 它的左.右子树也分别为二叉搜索树. 对于二叉搜索树而言,有以下典型的操作: 1 插入,删除 2 查找 3 遍历:深度优先遍历(包括前序,中序,后序三种方式),广度优先遍历 对于插入而言:是一个比较简单的过程.自己思考代码的实现. 删除操作比较麻烦,先不讲 而关于查找操作吗,和插入操作差别不大,不讲

JavaScript初探二

//----------总结 //01.查找dom元素 document.getElementById();//通过id获取一个dom元素 document.getElementsByClassName();//通过class获取dom数组 document.getElementsByTagName();//通过标签名获取dom数组 //02.修改dom元素 dom.type = "text"//type属性 dom.innerHTML//双标签的文本值 这里注意innerText d

JavaScript初探 二

//----------总结01.查找dom元素 document.getElementById();//通过id获取一个dom元素document.getElementsByClassName();//通过class获取dom数组document.getElementsByTagName();//通过标签名获取dom数组 //02.修改dom元素 dom.type = "text"//type属性dom.innerHTML//双标签的文本值 这里注意innerTextdom.valu

asp.net core 初探 二

今天用@宇内流云大大的jexus 体验一下生产环境的发布,运行. 生产环境: centos 7 jexus 5.8.1 独立版 包含了mono (mono安装真心痛苦……) 开发环境就是昨天的Ubuntu +.net core sdk 了. 先发布我们昨天新建的web项目: 输入dotnet publish -o xxxxx/xxx 我这里报了个错NPM 找不到 那就先安装npm  sudo apt-get install npm 安装npm的时候一直提示我:无法获得锁 /var/lib/dpk

.Net开源之corefx、coreclr初探(二)

接上文,上周编译coreclr没有通过,我这边编译失败的主要原因是操作系统是x86的,而github上的开发guide,明确的要求windows平台下编译时支持的是x64,我换成了x64电脑进行编译就ok了,编译过程中持续的时间比较长,采用CMAKE进行编译时的画面如下: 大概10分钟左右,编译成功,显示画面如下: 全部完成后的输出结果如下: 编译完成后在生成的文件夹下,CMAKE文件夹下会有corefx的VS项目工程文件,可以用VS2013打开,如下图所示: 打开该工程文件,内容如下所示,整个

dubbo初探二之简单搭建zookeeper注册中心

jdk须为1.7 pom.xml <dependency>     <groupId>com.netflix.curator</groupId>     <artifactId>curator-framework</artifactId>     <version>1.1.10</version> </dependency> <dependency>     <groupId>org.a

【原创】Themida 2260 虚拟机 FISH 初探(一)

标 题: [原创]Themida 2260 虚拟机 FISH 初探(一)作 者: xiaohang时 间: 2016-03-03,00:39:37链 接: http://bbs.pediy.com/showthread.php?t=208207 引用: 标 题: [原创]Themida 2260 虚拟机 FISH 初探 (二)作 者: xiaohang时 间: 2016-03-03,14:35:18链 接: http://bbs.pediy.com/showthread.php?t=208217