package util import ( "encoding/json" "flag" "io/ioutil" "log" ) type Config struct { Title string `json:"title"` FpsLimit int `json:"fpsLimit, omitempty" validate:"required"` Version string `json:"version"` MainWindowSizeX int `json:"sizeX"` MainWindowSizeY int `json:"sizeY"` Font string `json:"font"` FontSize string `json:"fontSize"` //format is "8x12" Verbosity string `json:"verbosity"` } func LoadConfig() *Config { var configArg string = "./config.json" flag.StringVar(&configArg, "cfg", configArg, "config file location") flag.Parse() // get config data, err := ioutil.ReadFile(configArg) if err != nil { log.Fatalf("Application couldn't read config at %s", configArg) } config := new(Config) err = json.Unmarshal(data, config) if err != nil { log.Fatalln(err) } return config }