49 lines
1.3 KiB
Go
49 lines
1.3 KiB
Go
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
|
|
}
|