|
|
@ -116,6 +116,33 @@ func (data Data) MustGetIntSlice(key string) []int {
|
|
|
|
return values
|
|
|
|
return values
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// GetDataSlice 取得資料切片
|
|
|
|
|
|
|
|
func (data Data) GetDataSlice(key string) ([]Data, error) {
|
|
|
|
|
|
|
|
values, err := data.GetSlice(key)
|
|
|
|
|
|
|
|
if err != nil {
|
|
|
|
|
|
|
|
return nil, err
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var vals []Data
|
|
|
|
|
|
|
|
for _, v := range values {
|
|
|
|
|
|
|
|
switch v.(type) {
|
|
|
|
|
|
|
|
case map[string]interface{}:
|
|
|
|
|
|
|
|
val := v.(map[string]interface{})
|
|
|
|
|
|
|
|
vals = append(vals, Data(val))
|
|
|
|
|
|
|
|
default:
|
|
|
|
|
|
|
|
return nil, ErrFormat
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return vals, nil
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// MustGetDataSlice 強制取得資料切片
|
|
|
|
|
|
|
|
func (data Data) MustGetDataSlice(key string) []Data {
|
|
|
|
|
|
|
|
values, _ := data.GetDataSlice(key)
|
|
|
|
|
|
|
|
return values
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// GetInt64 取得64位元整數
|
|
|
|
// GetInt64 取得64位元整數
|
|
|
|
func (data Data) GetInt64(key string) (int64, error) {
|
|
|
|
func (data Data) GetInt64(key string) (int64, error) {
|
|
|
|
value, err := data.Get(key)
|
|
|
|
value, err := data.Get(key)
|
|
|
|