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")这样获取,结果不可以,先这样,后面继续学习看看

你可能感兴趣的:(Go)