convert.go raw

   1  package utils
   2  
   3  import (
   4  	"fmt"
   5  )
   6  
   7  func ToInt64(val interface{}) (int64, error) {
   8  	var res int64
   9  
  10  	switch v := val.(type) {
  11  	case int:
  12  		res = int64(v)
  13  	case int8:
  14  		res = int64(v)
  15  	case int16:
  16  		res = int64(v)
  17  	case int32:
  18  		res = int64(v)
  19  	case int64:
  20  		res = v
  21  	default:
  22  		return 0, fmt.Errorf("failed to convert int64")
  23  	}
  24  	return res, nil
  25  }
  26  
  27  func ToString(val interface{}) (string, error) {
  28  	var res string
  29  	switch v := val.(type) {
  30  	case string:
  31  		res = v
  32  	default:
  33  		return "", fmt.Errorf("failed to convert int64")
  34  	}
  35  	return res, nil
  36  }
  37