package main import ( "encoding/json" "errors" "fmt" "io/ioutil" "log" "time" ) type Config struct { Limit int `json:limit` Interval string `json:interval` Epsilon float64 `json:epsilon` } func (cfg *Config) getInterval() (interval time.Duration, err error) { switch cfg.Interval { case "5min": interval = time.Minute * 5 case "10min": interval = time.Minute * 10 case "hour": interval = time.Hour case "day": interval = time.Hour * 24 default: err = errors.New(fmt.Sprintf("Invalid interval: %s", cfg.Interval)) } return } func readConfig() (conf Config, err error) { content, err := ioutil.ReadFile("config.json") if err != nil { log.Println(err) } err = json.Unmarshal(content, &conf) if err != nil { log.Println(err) } return }