项目作者: wgarunap

项目描述 :
Load environmental variable values to go struct directly
高级语言: Go
项目地址: git://github.com/wgarunap/goconf.git
创建时间: 2020-02-06T05:01:03Z
项目社区:https://github.com/wgarunap/goconf

开源协议:MIT License

下载


Go Config

Library to load env configuration in Golang

Features

  • Load Env Configuration
  • Print configuration
  • Validate Env Configuration

How to use it

  1. package main
  2. import (
  3. "errors"
  4. "log"
  5. "github.com/wgarunap/goconf"
  6. )
  7. type Conf struct {
  8. Name string `env:"MY_NAME" validate:"required"`
  9. ExampleHost string `env:"EXAMPLE_HOST" envDefault:"localhost" validate:"required,uri"`
  10. Port int `env:"EXAMPLE_PORT" envDefault:"8081" validate:"gte=8080,lte=9000"`
  11. Password string `env:"MY_PASSWORD" secret:"true"`
  12. }
  13. var Config Conf
  14. func (Conf) Register() error {
  15. return goconf.ParseEnv(&Config)
  16. }
  17. func (Conf) Validate() error {
  18. return goconf.StructValidator(Config)
  19. }
  20. func (Conf) Print() interface{} {
  21. return Config
  22. }
  23. func main() {
  24. if err := goconf.Load(new(Conf));err!=nil{
  25. log.Fatal(err)
  26. }
  27. log.Println(`configuration successfully loaded`)
  28. }