清风徐来
Michael's Blog
Demo 学 Echo Part9 配置文件

请输入图片描述

配置文件可以用json,YAML格式 app.conf.json

{
    "appName": "SimpleApp",

    "server": {
        "port": 5000
    }
}

main.go

package main

import (
	"fmt"
	"net/http"

	"github.com/labstack/echo"
	"github.com/spf13/viper"
)

func main() {
	e := echo.New()

	viper.SetConfigType("json")
	viper.AddConfigPath(".")
	viper.SetConfigName("app.conf")

	err := viper.ReadInConfig()
	if err != nil {
		e.Logger.Fatal(err)
	}

	fmt.Println("Starting", viper.GetString("appName"))

	e.GET("/index", func(c echo.Context) (err error) {
		return c.JSON(http.StatusOK, true)
	})

	e.Logger.Fatal(e.Start(":" + viper.GetString("server.port")))
}

运行

go run main.go
Starting SimpleApp

   ____    __
  / __/___/ /  ___
 / _// __/ _ \/ _ \
/___/\__/_//_/\___/ v4.1.9
High performance, minimalist Go web framework
https://echo.labstack.com
____________________________________O/_______
                                    O\
⇨ http server started on [::]:5000

用YAML app.config.yaml

appName: SimpleApp2
server:
  port: 9000

代码部分修改一下

viper.SetConfigType("yaml")
viper.AddConfigPath(".")
viper.SetConfigName("app.config")

结果

go run main.go
Starting SimpleApp2

   ____    __
  / __/___/ /  ___
 / _// __/ _ \/ _ \
/___/\__/_//_/\___/ v4.1.9
High performance, minimalist Go web framework
https://echo.labstack.com
____________________________________O/_______
                                    O\
⇨ http server started on [::]:9000


最后修改于 2019-08-17