Go语言数据类型的判断

Go语言与其他语言不同的是,数据类型不对,常引起异常,所以需要并确定提前转换成对应的处理的业务数据类型
//interface类型转化为flat64
func HelperInterfaceToFloat64(data interface{}) float64 {
    if data == nil { return 0 }
    typeStr := reflect.TypeOf(data).String()
    var dataValue float64
    switch typeStr {
    case "float64":
        dataValue = data.(float64)
    case "int":
        dataValue = float64(data.(int))
    case "int64":
        dataValue = float64(data.(int64))
    case "string":
        float, err := strconv.ParseFloat(data.(string), 64)
        if err == nil {
            dataValue = float
        }
    }
    return dataValue
}

//interface类型转化为int
func  HelperInterfaceToInt(data interface{}) int {
    if data == nil { return 0 }
    typeStr := reflect.TypeOf(data).String()
    var dataValue int
    switch typeStr {
    case "float64":
        dataValu

你可能感兴趣的:(go,算法)