一、 我们使用开源的配置文件方式
go get github.com/jinzhu/configor
二、直接上代码
package conf
import "github.com/jinzhu/configor"
var Config = struct {
Env string `default:"dev"`
AppName string
Port int `default:"8080"`
Mysql struct {
Host string
Port int
User string
Password string
Database string
}
}{}
func init() {
err := configor.New(&configor.Config{ENVPrefix: "APP", Debug: true, ErrorOnUnmatchedKeys: true}).Load(&Config, "./conf/config.yml")
if err != nil {
panic(err)
}
}
yaml 配置文件
appname: app
env: test
mysql:
host: localhost
port: 3306
user: root
password: 1231
database: dbname
main文件
package main
import (
"fmt"
"mygo2/config"
)
func main() {
config.Init()
fmt.Printf("%#v", &config.Config)
}