package main import ( "encoding/json" "os" "strings" ) type ServerSettings struct { URL string Username string Password string } type Settings struct { EWS ServerSettings CalDAV ServerSettings Anonymize struct { Title string } } func LoadSettings() Settings { f, err := os.Open("calanonsync.json") if err != nil { panic(err) } settings := Settings{} err = json.NewDecoder(f).Decode(&settings) if err != nil { panic(err) } if settings.CalDAV.URL != "" && !strings.HasSuffix(settings.CalDAV.URL, "/") { settings.CalDAV.URL += "/" } return settings }