266 lines
5.3 KiB
Plaintext
266 lines
5.3 KiB
Plaintext
package typeUtil
|
||
|
||
import (
|
||
"fmt"
|
||
"time"
|
||
)
|
||
|
||
// KeyValue数据集合
|
||
type MapData map[string]interface{}
|
||
|
||
// 创建新的MapData
|
||
// mapData:原有的map数据
|
||
// 返回
|
||
// 新的Map对象
|
||
func NewMapData(mapData map[string]interface{}) MapData {
|
||
return MapData(mapData)
|
||
}
|
||
|
||
// 类型转换为byte
|
||
// 返回值:
|
||
// byte:结果
|
||
// error:错误数据
|
||
func (this MapData) Byte(key string) (value byte, err error) {
|
||
return this.Uint8(key)
|
||
}
|
||
|
||
// 类型转换为int
|
||
// 返回值:
|
||
// int:结果
|
||
// error:错误数据
|
||
func (this MapData) Int(key string) (value int, err error) {
|
||
val, exist := this[key]
|
||
if exist == false || val == nil {
|
||
err = fmt.Errorf("Target key: [%s] doesn't exist", key)
|
||
return
|
||
}
|
||
|
||
value, err = Int(val)
|
||
return
|
||
}
|
||
|
||
// 类型转换为int8
|
||
// 返回值:
|
||
// int:结果
|
||
// error:错误数据
|
||
func (this MapData) Int8(key string) (value int8, err error) {
|
||
val, exist := this[key]
|
||
if exist == false || val == nil {
|
||
err = fmt.Errorf("Target key: [%s] doesn't exist", key)
|
||
return
|
||
}
|
||
|
||
value, err = Int8(val)
|
||
return
|
||
}
|
||
|
||
// 类型转换为int16
|
||
// 返回值:
|
||
// int:结果
|
||
// error:错误数据
|
||
func (this MapData) Int16(key string) (value int16, err error) {
|
||
val, exist := this[key]
|
||
if exist == false || val == nil {
|
||
err = fmt.Errorf("Target key: [%s] doesn't exist", key)
|
||
return
|
||
}
|
||
|
||
value, err = Int16(val)
|
||
return
|
||
}
|
||
|
||
// 类型转换为int32
|
||
// 返回值:
|
||
// int:结果
|
||
// error:错误数据
|
||
func (this MapData) Int32(key string) (value int32, err error) {
|
||
val, exist := this[key]
|
||
if exist == false || val == nil {
|
||
err = fmt.Errorf("Target key: [%s] doesn't exist", key)
|
||
return
|
||
}
|
||
|
||
value, err = Int32(val)
|
||
return
|
||
}
|
||
|
||
// 类型转换为int64
|
||
// 返回值:
|
||
// int:结果
|
||
// error:错误数据
|
||
func (this MapData) Int64(key string) (value int64, err error) {
|
||
val, exist := this[key]
|
||
if exist == false || val == nil {
|
||
err = fmt.Errorf("Target key: [%s] doesn't exist", key)
|
||
return
|
||
}
|
||
|
||
value, err = Int64(val)
|
||
return
|
||
}
|
||
|
||
// 类型转换为uint
|
||
// 返回值:
|
||
// int:结果
|
||
// error:错误数据
|
||
func (this MapData) Uint(key string) (value uint, err error) {
|
||
val, exist := this[key]
|
||
if exist == false || val == nil {
|
||
err = fmt.Errorf("Target key: [%s] doesn't exist", key)
|
||
return
|
||
}
|
||
|
||
value, err = Uint(val)
|
||
return
|
||
}
|
||
|
||
// 类型转换为uint8
|
||
// 返回值:
|
||
// int:结果
|
||
// error:错误数据
|
||
func (this MapData) Uint8(key string) (value uint8, err error) {
|
||
val, exist := this[key]
|
||
if exist == false || val == nil {
|
||
err = fmt.Errorf("Target key: [%s] doesn't exist", key)
|
||
return
|
||
}
|
||
|
||
value, err = Uint8(val)
|
||
return
|
||
}
|
||
|
||
// 类型转换为uint16
|
||
// 返回值:
|
||
// int:结果
|
||
// error:错误数据
|
||
func (this MapData) Uint16(key string) (value uint16, err error) {
|
||
val, exist := this[key]
|
||
if exist == false || val == nil {
|
||
err = fmt.Errorf("Target key: [%s] doesn't exist", key)
|
||
return
|
||
}
|
||
|
||
value, err = Uint16(val)
|
||
return
|
||
}
|
||
|
||
// 类型转换为uint32
|
||
// 返回值:
|
||
// int:结果
|
||
// error:错误数据
|
||
func (this MapData) Uint32(key string) (value uint32, err error) {
|
||
val, exist := this[key]
|
||
if exist == false || val == nil {
|
||
err = fmt.Errorf("Target key: [%s] doesn't exist", key)
|
||
return
|
||
}
|
||
|
||
value, err = Uint32(val)
|
||
return
|
||
}
|
||
|
||
// 类型转换为uint64
|
||
// 返回值:
|
||
// int:结果
|
||
// error:错误数据
|
||
func (this MapData) Uint64(key string) (value uint64, err error) {
|
||
val, exist := this[key]
|
||
if exist == false || val == nil {
|
||
err = fmt.Errorf("Target key: [%s] doesn't exist", key)
|
||
return
|
||
}
|
||
|
||
value, err = Uint64(val)
|
||
return
|
||
}
|
||
|
||
// 类型转换为float32
|
||
// 返回值:
|
||
// float64:结果
|
||
// error:错误数据
|
||
func (this MapData) Float32(key string) (value float32, err error) {
|
||
val, exist := this[key]
|
||
if exist == false || val == nil {
|
||
err = fmt.Errorf("Target key: [%s] doesn't exist", key)
|
||
return
|
||
}
|
||
|
||
value, err = Float32(val)
|
||
return
|
||
}
|
||
|
||
// 类型转换为float64
|
||
// 返回值:
|
||
// float64:结果
|
||
// error:错误数据
|
||
func (this MapData) Float64(key string) (value float64, err error) {
|
||
val, exist := this[key]
|
||
if exist == false || val == nil {
|
||
err = fmt.Errorf("Target key: [%s] doesn't exist", key)
|
||
return
|
||
}
|
||
|
||
value, err = Float64(val)
|
||
return
|
||
}
|
||
|
||
// 类型转换为bool
|
||
// 返回值:
|
||
// bool:结果
|
||
// error:错误信息
|
||
func (this MapData) Bool(key string) (value bool, err error) {
|
||
val, exist := this[key]
|
||
if exist == false || val == nil {
|
||
err = fmt.Errorf("Target key: [%s] doesn't exist", key)
|
||
return
|
||
}
|
||
|
||
value, err = Bool(val)
|
||
return
|
||
}
|
||
|
||
// 类型转换为字符串
|
||
// 返回值:
|
||
// string:结果
|
||
// error:错误信息
|
||
func (this MapData) String(key string) (value string, err error) {
|
||
val, exist := this[key]
|
||
if exist == false || val == nil {
|
||
err = fmt.Errorf("Target key: [%s] doesn't exist", key)
|
||
return
|
||
}
|
||
|
||
value, err = String(val)
|
||
return
|
||
}
|
||
|
||
// 转换为时间格式,如果是字符串,则要求内容格式形如:2017-02-14 05:20:00
|
||
// 返回值:
|
||
// bool:结果
|
||
// error:错误信息
|
||
func (this MapData) DateTime(key string) (value time.Time, err error) {
|
||
val, exist := this[key]
|
||
if exist == false || val == nil {
|
||
err = fmt.Errorf("Target key: [%s] doesn't exist", key)
|
||
return
|
||
}
|
||
|
||
value, err = DateTime(val)
|
||
return
|
||
}
|
||
|
||
// 获取指定的值
|
||
// 返回值:
|
||
// interface{}:结果
|
||
// error:错误信息
|
||
func (this MapData) Interface(key string) (value interface{}, err error) {
|
||
val, exist := this[key]
|
||
if exist == false || val == nil {
|
||
err = fmt.Errorf("Target key: [%s] doesn't exist", key)
|
||
return
|
||
}
|
||
|
||
value = val
|
||
return
|
||
}
|