package product type TimeSeries int8 const ( TimeSeriesUnknown TimeSeries = iota // 未知 TimeSeriesTenMinutes // 每 10 分鐘 TimeSeriesHalfHour // 每半小時 TimeSeriesOneHour // 每小時 ) func (t *TimeSeries) ToString() string { s, _ := TimeSeriesToString(*t) return s } const ( TimeSeriesUnknownStr = "unknown" TimeSeriesTenMinutesStr = "ten_minutes" TimeSeriesHalfHourStr = "half_hour" TimeSeriesOneHourStr = "one_hour" ) var timeSeriesToStringMap = map[TimeSeries]string{ TimeSeriesUnknown: TimeSeriesUnknownStr, TimeSeriesTenMinutes: TimeSeriesTenMinutesStr, TimeSeriesHalfHour: TimeSeriesHalfHourStr, TimeSeriesOneHour: TimeSeriesOneHourStr, } var stringToTimeSeriesMap = map[string]TimeSeries{ TimeSeriesUnknownStr: TimeSeriesUnknown, TimeSeriesTenMinutesStr: TimeSeriesTenMinutes, TimeSeriesHalfHourStr: TimeSeriesHalfHour, TimeSeriesOneHourStr: TimeSeriesOneHour, } // TimeSeriesToString 將 TimeSeries 轉換為字串 func TimeSeriesToString(ts TimeSeries) (string, bool) { str, ok := timeSeriesToStringMap[ts] return str, ok } // StringToTimeSeries 將字串轉換為 TimeSeries func StringToTimeSeries(str string) (TimeSeries, bool) { ts, ok := stringToTimeSeriesMap[str] return ts, ok }