func Str2Int(val string) int {
	return int(wrapInt64Result(internalStr2Int(val, 0, false)))
}
Convert string to int, panic when the string is not of a valid int format.
package convert
import(
	"fmt"
	"strconv"
	"errors"
	"unsafe"
	"reflect"
)
func Int2Str(val interface{}) string{
	switch val.(type){
		case int:
			return fmt.Sprintf("%d", val)
		case int8:
			return fmt.Sprintf("%d", val)
		case int16:
			return fmt.Sprintf("%d", val)
		case int32:
			return fmt.Sprintf("%d", val)
		case int64:
			return fmt.Sprintf("%d", val)
		case uint:
			return fmt.Sprintf("%d", val)
		case uint8:
			return fmt.Sprintf("%d", val)
		case uint16:
			return fmt.Sprintf("%d", val)
		case uint32:
			return fmt.Sprintf("%d", val)
		case uint64:
			return fmt.Sprintf("%d", val)
		default: 
			return ""
	}
}
func Float2Str(val interface{}, length int) string {
	switch val.(type){
		case float32:
			return fmt.Sprintf("%." + Int2Str(length) + "f", val)
		case float64:
			return fmt.Sprintf("%." + Int2Str(length) + "f", val)
		default:
			return ""
	}
}
func Bool2Str(val bool) string {
	if val {
		return "true"
	}
	return "false"
}
func internalStr2Int(val string, bitSize int, noPanic bool) (int64, error) {
	res, err := strconv.ParseInt(val, 0, bitSize)
	if err != nil{
		if noPanic {
			return 0, err
		}else {
			panic(err)
		}
	}
	return res, nil
}
func wrapInt64Result(res int64, err error) int64 {
	return res
}
func Str2Int64(val string) int64 {
	return int64(wrapInt64Result(internalStr2Int(val, 64, false)))
}
func Str2Int64NoPanic(val string) int64 {
	return int64(wrapInt64Result(internalStr2Int(val, 64, true)))
}
func Str2Int64WithDefaultValue(val string, defaultVal int64) int64 {
	if res, err := internalStr2Int(val, 64, true); err != nil {
		return defaultVal
	} else {
		return int64(res)
	}
}
func Str2Int32(val string) int32 {
	return int32(wrapInt64Result(internalStr2Int(val, 32, false)))
}
func Str2Int32NoPanic(val string) int32 {
	return int32(wrapInt64Result(internalStr2Int(val, 32, true)))
}
func Str2Int32WithDefaultValue(val string, defaultVal int32) int32 {
	if res, err := internalStr2Int(val, 32, true); err != nil {
		return defaultVal
	} else {
		return int32(res)
	}
}
func Str2Int16(val string) int16 {
	return int16(wrapInt64Result(internalStr2Int(val, 16, false)))
}
func Str2Int16NoPanic(val string) int16 {
	return int16(wrapInt64Result(internalStr2Int(val, 16, true)))
}
func Str2Int16WithDefaultValue(val string, defaultVal int16) int16 {
	if res, err := internalStr2Int(val, 16, true); err != nil {
		return defaultVal
	} else {
		return int16(res)
	}
}
func Str2Int8(val string) int8 {
	return int8(wrapInt64Result(internalStr2Int(val, 8, false)))
}
func Str2Int8NoPanic(val string) int8 {
	return int8(wrapInt64Result(internalStr2Int(val, 8, true)))
}
func Str2Int8WithDefaultValue(val string, defaultVal int8) int8 {
	if res, err := internalStr2Int(val, 8, true); err != nil {
		return defaultVal
	} else {
		return int8(res)
	}
}