package config import ( "time" ) // 服务器配置 type ServerSetting struct { RunMode string HttpPort int ReadTimeout time.Duration WriteTimeout time.Duration } // 数据库配置 type DatabaseSetting struct { User string Pass string Host string Port int DB string MaxIdleConns int MaxOpenConns int } type RedisSetting struct { Host string Port int Password string DB int } type ServiceSetting struct { MaxSessionLife time.Duration ItemsPageSize uint CacheLifeTime time.Duration HostSerial int64 } // 定义全局变量 var ( ServerSettings *ServerSetting DatabaseSettings *DatabaseSetting RedisSettings *RedisSetting ServiceSettings *ServiceSetting ) // 读取配置到全局变量 func SetupSetting() error { s, err := NewConfigurationFile() if err != nil { return err } err = s.ReadSection("Database", &DatabaseSettings) if err != nil { return err } err = s.ReadSection("Server", &ServerSettings) if err != nil { return err } err = s.ReadSection("Redis", &RedisSettings) if err != nil { return err } err = s.ReadSection("Service", &ServiceSettings) if err != nil { return err } return nil }