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