package main import ( "fmt" "log" ) type ( SettingsService struct { db *DB } ) var Settings map[string]string = map[string]string{ "FoodDaysLookback": "7", "FoodAggregatedDaysLookback": "7", "WeightDaysLookback": "7", "WeightAggregatedDaysLookback": "7", } func (s *SettingsService) LoadSettings() (map[string]string, error) { if s.db == nil || !s.db.Ready { return Settings, fmt.Errorf("cannot load Settings, db is nil or is not ready") } for key := range Settings { var value string err := s.db.readConn.QueryRow("SELECT value FROM settings WHERE key = ?", key).Scan(&value) if err != nil { Error.Printf("error getting setting for key %s: %++v", key, err) continue } log.Println(key, value) } return Settings, nil }