Advertisement

go interface conversion

阅读量:

GO 数据类型强制转换

在实际应用过程中,常常会遭遇接口返回的数据格式类型不一致,或与预期结果存在偏差,从而引发频繁的错误提示。为此,设计了一种简易的数据类型强制转换方案以应对此类问题。

复制代码
    
    import (
    	"errors"
    	"strconv"
    	"strings"
    )
    
    var ErrUnsigned = errors.New("The input is smaller than 0 ")
    
    
    func Force2uint64(input interface{}) (uint64, error) {
    	var res uint64
    	if m, ok := input.(string); ok {
    		if strings.Contains(m, "-") {
    			return 0, ErrUnsigned
    		}
    		res, err = strconv.ParseUint(m, 10, 64)
    		if err != nil {
    			return 0, err
    		}
    	}
    	if m, ok := input.(int); ok {
    		if m < 0 {

全部评论 (0)

还没有任何评论哟~