|
|
@ -36,9 +36,9 @@ func (data Data) GetString(key string) (string, error) {
|
|
|
|
return string(value), nil
|
|
|
|
return string(value), nil
|
|
|
|
case string:
|
|
|
|
case string:
|
|
|
|
return value, nil
|
|
|
|
return value, nil
|
|
|
|
}
|
|
|
|
default:
|
|
|
|
|
|
|
|
|
|
|
|
return "", ErrFormat
|
|
|
|
return "", ErrFormat
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// MustGetString 強制取得字串
|
|
|
|
// MustGetString 強制取得字串
|
|
|
@ -59,9 +59,9 @@ func (data Data) GetBytes(key string) ([]byte, error) {
|
|
|
|
return value, nil
|
|
|
|
return value, nil
|
|
|
|
case string:
|
|
|
|
case string:
|
|
|
|
return []byte(value), nil
|
|
|
|
return []byte(value), nil
|
|
|
|
}
|
|
|
|
default:
|
|
|
|
|
|
|
|
|
|
|
|
return nil, ErrFormat
|
|
|
|
return nil, ErrFormat
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// MustGetBytes 強制取得字串
|
|
|
|
// MustGetBytes 強制取得字串
|
|
|
@ -127,6 +127,28 @@ func (data Data) GetIntSlice(key string) (res []int, err error) {
|
|
|
|
|
|
|
|
|
|
|
|
for _, v := range values {
|
|
|
|
for _, v := range values {
|
|
|
|
switch v := v.(type) {
|
|
|
|
switch v := v.(type) {
|
|
|
|
|
|
|
|
case int:
|
|
|
|
|
|
|
|
res = append(res, int(v))
|
|
|
|
|
|
|
|
case uint:
|
|
|
|
|
|
|
|
res = append(res, int(v))
|
|
|
|
|
|
|
|
case int8:
|
|
|
|
|
|
|
|
res = append(res, int(v))
|
|
|
|
|
|
|
|
case uint8:
|
|
|
|
|
|
|
|
res = append(res, int(v))
|
|
|
|
|
|
|
|
case int16:
|
|
|
|
|
|
|
|
res = append(res, int(v))
|
|
|
|
|
|
|
|
case uint16:
|
|
|
|
|
|
|
|
res = append(res, int(v))
|
|
|
|
|
|
|
|
case int32:
|
|
|
|
|
|
|
|
res = append(res, int(v))
|
|
|
|
|
|
|
|
case uint32:
|
|
|
|
|
|
|
|
res = append(res, int(v))
|
|
|
|
|
|
|
|
case int64:
|
|
|
|
|
|
|
|
res = append(res, int(v))
|
|
|
|
|
|
|
|
case uint64:
|
|
|
|
|
|
|
|
res = append(res, int(v))
|
|
|
|
|
|
|
|
case float32:
|
|
|
|
|
|
|
|
res = append(res, int(v))
|
|
|
|
case float64:
|
|
|
|
case float64:
|
|
|
|
res = append(res, int(v))
|
|
|
|
res = append(res, int(v))
|
|
|
|
default:
|
|
|
|
default:
|
|
|
@ -204,9 +226,9 @@ func (data Data) GetFloat64(key string) (float64, error) {
|
|
|
|
return float64(value), nil
|
|
|
|
return float64(value), nil
|
|
|
|
case float64:
|
|
|
|
case float64:
|
|
|
|
return value, nil
|
|
|
|
return value, nil
|
|
|
|
}
|
|
|
|
default:
|
|
|
|
|
|
|
|
|
|
|
|
return 0, ErrFormat
|
|
|
|
return 0, ErrFormat
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// MustGetFloat64 強制取得64位元浮點數
|
|
|
|
// MustGetFloat64 強制取得64位元浮點數
|
|
|
@ -227,30 +249,25 @@ func (data Data) GetInt64(key string) (int64, error) {
|
|
|
|
return int64(value), nil
|
|
|
|
return int64(value), nil
|
|
|
|
case uint:
|
|
|
|
case uint:
|
|
|
|
return int64(value), nil
|
|
|
|
return int64(value), nil
|
|
|
|
|
|
|
|
|
|
|
|
case int8:
|
|
|
|
case int8:
|
|
|
|
return int64(value), nil
|
|
|
|
return int64(value), nil
|
|
|
|
case uint8:
|
|
|
|
case uint8:
|
|
|
|
return int64(value), nil
|
|
|
|
return int64(value), nil
|
|
|
|
|
|
|
|
|
|
|
|
case int16:
|
|
|
|
case int16:
|
|
|
|
return int64(value), nil
|
|
|
|
return int64(value), nil
|
|
|
|
case uint16:
|
|
|
|
case uint16:
|
|
|
|
return int64(value), nil
|
|
|
|
return int64(value), nil
|
|
|
|
|
|
|
|
|
|
|
|
case int32:
|
|
|
|
case int32:
|
|
|
|
return int64(value), nil
|
|
|
|
return int64(value), nil
|
|
|
|
case uint32:
|
|
|
|
case uint32:
|
|
|
|
return int64(value), nil
|
|
|
|
return int64(value), nil
|
|
|
|
|
|
|
|
|
|
|
|
case int64:
|
|
|
|
case int64:
|
|
|
|
return value, nil
|
|
|
|
return value, nil
|
|
|
|
|
|
|
|
|
|
|
|
case float64:
|
|
|
|
case float64:
|
|
|
|
return int64(value), nil
|
|
|
|
return int64(value), nil
|
|
|
|
}
|
|
|
|
default:
|
|
|
|
|
|
|
|
|
|
|
|
return 0, ErrFormat
|
|
|
|
return 0, ErrFormat
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// MustGetInt64 強制取得64位元整數
|
|
|
|
// MustGetInt64 強制取得64位元整數
|
|
|
@ -396,7 +413,11 @@ func (data Data) GetBool(key string) (bool, error) {
|
|
|
|
|
|
|
|
|
|
|
|
switch value := value.(type) {
|
|
|
|
switch value := value.(type) {
|
|
|
|
case uint8:
|
|
|
|
case uint8:
|
|
|
|
return value == 1, nil
|
|
|
|
return value > 0, nil
|
|
|
|
|
|
|
|
case int64:
|
|
|
|
|
|
|
|
return value > 0, nil
|
|
|
|
|
|
|
|
case float64:
|
|
|
|
|
|
|
|
return value > 0, nil
|
|
|
|
case bool:
|
|
|
|
case bool:
|
|
|
|
return value, nil
|
|
|
|
return value, nil
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -422,14 +443,13 @@ func (data Data) GetTimestamp(key string) (Timestamp, error) {
|
|
|
|
return Timestamp(value), nil
|
|
|
|
return Timestamp(value), nil
|
|
|
|
case uint:
|
|
|
|
case uint:
|
|
|
|
return Timestamp(value), nil
|
|
|
|
return Timestamp(value), nil
|
|
|
|
case int32:
|
|
|
|
|
|
|
|
return Timestamp(value), nil
|
|
|
|
|
|
|
|
case uint32:
|
|
|
|
|
|
|
|
return Timestamp(value), nil
|
|
|
|
|
|
|
|
case int64:
|
|
|
|
case int64:
|
|
|
|
return Timestamp(value), nil
|
|
|
|
return Timestamp(value), nil
|
|
|
|
case uint64:
|
|
|
|
case uint64:
|
|
|
|
return Timestamp(value), nil
|
|
|
|
return Timestamp(value), nil
|
|
|
|
|
|
|
|
case float64:
|
|
|
|
|
|
|
|
return Timestamp(value), nil
|
|
|
|
|
|
|
|
|
|
|
|
case Timestamp:
|
|
|
|
case Timestamp:
|
|
|
|
return value, nil
|
|
|
|
return value, nil
|
|
|
|
}
|
|
|
|
}
|
|
|
|