210 lines
5.0 KiB
Go
210 lines
5.0 KiB
Go
// Package util ...
|
|
//
|
|
// Description : 从map中读取数据
|
|
//
|
|
// Author : go_developer@163.com<白茶清欢>
|
|
//
|
|
// Date : 2021-11-16 4:28 下午
|
|
package util
|
|
|
|
import (
|
|
"git.zhangdeman.cn/zhangdeman/gopkg/convert"
|
|
"github.com/pkg/errors"
|
|
)
|
|
|
|
// Exist 检测一个key在map中是否存在
|
|
//
|
|
// Author : go_developer@163.com<白茶清欢>
|
|
//
|
|
// Date : 4:52 下午 2021/11/16
|
|
func Exist(source map[interface{}]interface{}, key interface{}) bool {
|
|
if nil == source {
|
|
return false
|
|
}
|
|
if _, exist := source[key]; !exist {
|
|
return false
|
|
}
|
|
return true
|
|
}
|
|
|
|
// GetInt 获取int值
|
|
//
|
|
// Author : go_developer@163.com<白茶清欢>
|
|
//
|
|
// Date : 4:30 下午 2021/11/16
|
|
func GetInt(source map[interface{}]interface{}, key interface{}, defaultVal int) int {
|
|
var result int
|
|
if err := GetDataWithReceiver(source, key, &result); nil != err {
|
|
return defaultVal
|
|
}
|
|
return result
|
|
}
|
|
|
|
// GetInt8 ...
|
|
//
|
|
// Author : go_developer@163.com<白茶清欢>
|
|
//
|
|
// Date : 4:59 下午 2021/11/16
|
|
func GetInt8(source map[interface{}]interface{}, key interface{}, defaultVal int8) int8 {
|
|
var result int8
|
|
if err := GetDataWithReceiver(source, key, &result); nil != err {
|
|
return defaultVal
|
|
}
|
|
return result
|
|
}
|
|
|
|
// GetInt16 ...
|
|
//
|
|
// Author : go_developer@163.com<白茶清欢>
|
|
//
|
|
// Date : 4:59 下午 2021/11/16
|
|
func GetInt16(source map[interface{}]interface{}, key interface{}, defaultVal int16) int16 {
|
|
var result int16
|
|
if err := GetDataWithReceiver(source, key, &result); nil != err {
|
|
return defaultVal
|
|
}
|
|
return result
|
|
}
|
|
|
|
// GetInt32 ...
|
|
//
|
|
// Author : go_developer@163.com<白茶清欢>
|
|
//
|
|
// Date : 5:00 下午 2021/11/16
|
|
func GetInt32(source map[interface{}]interface{}, key interface{}, defaultVal int32) int32 {
|
|
var result int32
|
|
if err := GetDataWithReceiver(source, key, &result); nil != err {
|
|
return defaultVal
|
|
}
|
|
return result
|
|
}
|
|
|
|
// GetInt64 ...
|
|
//
|
|
// Author : go_developer@163.com<白茶清欢>
|
|
//
|
|
// Date : 5:00 下午 2021/11/16
|
|
func GetInt64(source map[interface{}]interface{}, key interface{}, defaultVal int64) int64 {
|
|
var result int64
|
|
if err := GetDataWithReceiver(source, key, &result); nil != err {
|
|
return defaultVal
|
|
}
|
|
return result
|
|
}
|
|
|
|
// GetUint ...
|
|
//
|
|
// Author : go_developer@163.com<白茶清欢>
|
|
//
|
|
// Date : 5:01 下午 2021/11/16
|
|
func GetUint(source map[interface{}]interface{}, key interface{}, defaultVal uint) uint {
|
|
var result uint
|
|
if err := GetDataWithReceiver(source, key, &result); nil != err {
|
|
return defaultVal
|
|
}
|
|
return result
|
|
}
|
|
|
|
// GetUint8 ...
|
|
//
|
|
// Author : go_developer@163.com<白茶清欢>
|
|
//
|
|
// Date : 5:01 下午 2021/11/16
|
|
func GetUint8(source map[interface{}]interface{}, key interface{}, defaultVal uint8) uint8 {
|
|
var result uint8
|
|
if err := GetDataWithReceiver(source, key, &result); nil != err {
|
|
return defaultVal
|
|
}
|
|
return result
|
|
}
|
|
|
|
// GetUint16 ...
|
|
//
|
|
// Author : go_developer@163.com<白茶清欢>
|
|
//
|
|
// Date : 5:02 下午 2021/11/16
|
|
func GetUint16(source map[interface{}]interface{}, key interface{}, defaultVal uint16) uint16 {
|
|
var result uint16
|
|
if err := GetDataWithReceiver(source, key, &result); nil != err {
|
|
return defaultVal
|
|
}
|
|
return result
|
|
}
|
|
|
|
// GetUint32 ...
|
|
//
|
|
// Author : go_developer@163.com<白茶清欢>
|
|
//
|
|
// Date : 5:02 下午 2021/11/16
|
|
func GetUint32(source map[interface{}]interface{}, key interface{}, defaultVal uint32) uint32 {
|
|
var result uint32
|
|
if err := GetDataWithReceiver(source, key, &result); nil != err {
|
|
return defaultVal
|
|
}
|
|
return result
|
|
}
|
|
|
|
// GetUint64 ...
|
|
//
|
|
// Author : go_developer@163.com<白茶清欢>
|
|
//
|
|
// Date : 5:03 下午 2021/11/16
|
|
func GetUint64(source map[interface{}]interface{}, key interface{}, defaultVal uint64) uint64 {
|
|
var result uint64
|
|
if err := GetDataWithReceiver(source, key, &result); nil != err {
|
|
return defaultVal
|
|
}
|
|
return result
|
|
}
|
|
|
|
// GetFloat32 ...
|
|
//
|
|
// Author : go_developer@163.com<白茶清欢>
|
|
//
|
|
// Date : 5:03 下午 2021/11/16
|
|
func GetFloat32(source map[interface{}]interface{}, key interface{}, defaultVal float32) float32 {
|
|
var result float32
|
|
if err := GetDataWithReceiver(source, key, &result); nil != err {
|
|
return defaultVal
|
|
}
|
|
return result
|
|
}
|
|
|
|
// GetFloat64 ...
|
|
//
|
|
// Author : go_developer@163.com<白茶清欢>
|
|
//
|
|
// Date : 5:04 下午 2021/11/16
|
|
func GetFloat64(source map[interface{}]interface{}, key interface{}, defaultVal float64) float64 {
|
|
var result float64
|
|
if err := GetDataWithReceiver(source, key, &result); nil != err {
|
|
return defaultVal
|
|
}
|
|
return result
|
|
}
|
|
|
|
// GetString ...
|
|
//
|
|
// Author : go_developer@163.com<白茶清欢>
|
|
//
|
|
// Date : 5:07 下午 2021/11/16
|
|
func GetString(source map[interface{}]interface{}, key interface{}, defaultVal string) string {
|
|
var result string
|
|
if err := GetDataWithReceiver(source, key, &result); nil != err {
|
|
return defaultVal
|
|
}
|
|
return result
|
|
}
|
|
|
|
// GetDataWithReceiver 使用制定的数据指针接受结果
|
|
//
|
|
// Author : go_developer@163.com<白茶清欢>
|
|
//
|
|
// Date : 4:54 下午 2021/11/16
|
|
func GetDataWithReceiver(source map[interface{}]interface{}, key interface{}, receiver interface{}) error {
|
|
if !Exist(source, key) {
|
|
return errors.New("key is not found")
|
|
}
|
|
return convert.ConvertAssign(receiver, source[key])
|
|
}
|