package config import ( "fmt" "strconv" ) // ServerConfig 服务器配置 type ServerConfig struct { Port int `mapstructure:"port"` Host string `mapstructure:"host"` Env string `mapstructure:"env"` // development, production, testing } // Validate 验证服务器配置 func (c *ServerConfig) Validate() error { if c.Port <= 0 { return fmt.Errorf("server port must be positive") } if c.Host == "" { c.Host = "0.0.0.0" } if c.Env == "" { c.Env = "development" } return nil } // Address 返回服务器地址 func (c *ServerConfig) Address() string { return c.Host + ":" + strconv.Itoa(c.Port) }