Fix convert
This commit is contained in:
parent
0193c40f65
commit
299bb56b16
|
@ -35,6 +35,56 @@ func AsInt64(src interface{}) (int64, error) {
|
||||||
return int64(v), nil
|
return int64(v), nil
|
||||||
case uint64:
|
case uint64:
|
||||||
return int64(v), nil
|
return int64(v), nil
|
||||||
|
case *int:
|
||||||
|
if v == nil {
|
||||||
|
return 0, nil
|
||||||
|
}
|
||||||
|
return int64(*v), nil
|
||||||
|
case *int16:
|
||||||
|
if v == nil {
|
||||||
|
return 0, nil
|
||||||
|
}
|
||||||
|
return int64(*v), nil
|
||||||
|
case *int32:
|
||||||
|
if v == nil {
|
||||||
|
return 0, nil
|
||||||
|
}
|
||||||
|
return int64(*v), nil
|
||||||
|
case *int8:
|
||||||
|
if v == nil {
|
||||||
|
return 0, nil
|
||||||
|
}
|
||||||
|
return int64(*v), nil
|
||||||
|
case *int64:
|
||||||
|
if v == nil {
|
||||||
|
return 0, nil
|
||||||
|
}
|
||||||
|
return *v, nil
|
||||||
|
case *uint:
|
||||||
|
if v == nil {
|
||||||
|
return 0, nil
|
||||||
|
}
|
||||||
|
return int64(*v), nil
|
||||||
|
case *uint8:
|
||||||
|
if v == nil {
|
||||||
|
return 0, nil
|
||||||
|
}
|
||||||
|
return int64(*v), nil
|
||||||
|
case *uint16:
|
||||||
|
if v == nil {
|
||||||
|
return 0, nil
|
||||||
|
}
|
||||||
|
return int64(*v), nil
|
||||||
|
case *uint32:
|
||||||
|
if v == nil {
|
||||||
|
return 0, nil
|
||||||
|
}
|
||||||
|
return int64(*v), nil
|
||||||
|
case *uint64:
|
||||||
|
if v == nil {
|
||||||
|
return 0, nil
|
||||||
|
}
|
||||||
|
return int64(*v), nil
|
||||||
case []byte:
|
case []byte:
|
||||||
return strconv.ParseInt(string(v), 10, 64)
|
return strconv.ParseInt(string(v), 10, 64)
|
||||||
case string:
|
case string:
|
||||||
|
@ -110,9 +160,7 @@ func AsUint64(src interface{}) (uint64, error) {
|
||||||
return 0, fmt.Errorf("unsupported value %T as uint64", src)
|
return 0, fmt.Errorf("unsupported value %T as uint64", src)
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var _ sql.Scanner = &NullUint64{}
|
||||||
_ sql.Scanner = &NullUint64{}
|
|
||||||
)
|
|
||||||
|
|
||||||
// NullUint64 represents an uint64 that may be null.
|
// NullUint64 represents an uint64 that may be null.
|
||||||
// NullUint64 implements the Scanner interface so
|
// NullUint64 implements the Scanner interface so
|
||||||
|
@ -142,9 +190,7 @@ func (n NullUint64) Value() (driver.Value, error) {
|
||||||
return n.Uint64, nil
|
return n.Uint64, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var _ sql.Scanner = &NullUint32{}
|
||||||
_ sql.Scanner = &NullUint32{}
|
|
||||||
)
|
|
||||||
|
|
||||||
// NullUint32 represents an uint32 that may be null.
|
// NullUint32 represents an uint32 that may be null.
|
||||||
// NullUint32 implements the Scanner interface so
|
// NullUint32 implements the Scanner interface so
|
||||||
|
|
Loading…
Reference in New Issue