Browse Source

requests.Integer support int64

Signed-off-by: gaort <rutong.grt@alibaba-inc.com>
gaort 7 years ago
parent
commit
ebd46896e5
2 changed files with 21 additions and 2 deletions
  1. 10 2
      sdk/requests/types.go
  2. 11 0
      sdk/requests/types_test.go

+ 10 - 2
sdk/requests/types.go

@@ -4,8 +4,8 @@ import "strconv"
 
 type Integer string
 
-func NewInteger(n int) Integer {
-	return Integer(strconv.Itoa(n))
+func NewInteger(integer int) Integer {
+	return Integer(strconv.Itoa(integer))
 }
 
 func (integer Integer) hasValue() bool {
@@ -16,6 +16,14 @@ func (integer Integer) getValue() (int, error) {
 	return strconv.Atoi(string(integer))
 }
 
+func NewInteger64(integer int64) Integer {
+	return Integer(strconv.FormatInt(integer, 10))
+}
+
+func (integer Integer) getValue64() (int64, error) {
+	return strconv.ParseInt(string(integer), 10, 0)
+}
+
 type Boolean string
 
 func NewBoolean(bool bool) Boolean {

+ 11 - 0
sdk/requests/types_test.go

@@ -16,6 +16,17 @@ func TestNewInteger(t *testing.T) {
 	assert.Equal(t, expected, integer)
 }
 
+func TestNewInteger64(t *testing.T) {
+	long := NewInteger64(123123123123123123)
+	assert.True(t, long.hasValue())
+	value, err := long.getValue64()
+	assert.Nil(t, err)
+	assert.Equal(t, int64(123123123123123123), value)
+	var expected Integer
+	expected = "123123123123123123"
+	assert.Equal(t, expected, long)
+}
+
 func TestNewBoolean(t *testing.T) {
 	boolean := NewBoolean(false)
 	assert.True(t, boolean.hasValue())