github.com/sereiner/library@v0.0.0-20200518095232-1fa3e640cc5f/mq/xmq/xmq.conf.go (about)

     1  package xmq
     2  
     3  import (
     4  	"encoding/json"
     5  	"fmt"
     6  
     7  	"github.com/asaskevich/govalidator"
     8  )
     9  
    10  type Conf struct {
    11  	Address string `json:"address" valid:"dialstring,required"`
    12  }
    13  
    14  func NewConf(j string) (*Conf, error) {
    15  	conf := Conf{}
    16  	err := json.Unmarshal([]byte(j), &conf)
    17  	if err != nil {
    18  		return nil, err
    19  	}
    20  	if b, err := govalidator.ValidateStruct(&conf); !b {
    21  		err = fmt.Errorf("xmq 配置文件有误:%v", err)
    22  		return nil, err
    23  	}
    24  	return &conf, nil
    25  }