上一节,我们已经定义和创建了我们需要的目录,和项目初始化。这一节我们就可以开始编写博客配置功能了。
上面我们提到,我们的配置处理函数将存放在config目录中。我们的项目还需要配置文件。配置文件我们就命名为config.json。它是一个json文件,里面将包含了博客网站的基本信息、数据库配置信息等。
config.json 配置文件
为了方便查看和读取config.json,我们将它放在项目的config目录下。它里面将包含的字段信息有:
{
"mysql": {
"database": "irisweb",
"user": "root",
"password": "123456",
"host": "localhost",
"port": 3306
},
"server": {
"site_name": "irisweb 博客",
"env": "development",
"port": 8001,
"log_level": "debug"
}
}
字段说明:
mysql 字段包含了连接mysql数据库的信息。database 为数据库名称;user 为数据库用户名;password 为数据库密码;host 为数据库域名或ip地址;port 为数据库端口。
server 字段包含了博客网站的基本信息。site_name 为网站名称,网站页面会调用到;env 为博客网站的开发环境,值为development时,表示开发中,将会输出一些开发信息供参考,值为production表示部署在生产环境中,程序将不输出debug信息;port 为博客网站golang运行的端口,通过这个端口可以访问到网站页面;log_level 表示日志的记录级别,值为debug的时候,表示记录debug级别的信息。
读取json文件
上面的配置文件config.json定义好并放到config目录后,我们还需要编写代码,让golang可以读取它,才能在项目中调用配置文件中的信息。这些文件我们都放置在config文件夹中。
为了方便程序读取,我们先给上面两个字段创建两个承载这些具体字段的结构体:
mysql.go
package config
type mysqlConfig struct {
Database string `json:"database"`
User string `json:"user"`
Password string `json:"password"`
Host string `json:"host"`
Port int `json:"port"`
Url string `json:"-"`
}