package config import "fmt" type Config struct { Mode string Addr string Port int DSN string } func (c *Config) Validate() error { if c.Mode != "dev" && c.Mode != "prod" { return fmt.Errorf("invalid mode: %s", c.Mode) } if c.Addr == "" { return fmt.Errorf("invalid address: %s", c.Addr) } if c.Port == 0 { return fmt.Errorf("invalid port: %d", c.Port) } if c.DSN == "" { return fmt.Errorf("invalid DSN: %s", c.DSN) } return nil }