@@ -30,33 +30,33 @@ var rawValueType = reflect.TypeOf(RawValue{})
30
30
31
31
// StringSize returns the encoded size of a string.
32
32
func StringSize (s string ) uint64 {
33
- switch {
34
- case len ( s ) == 0 :
33
+ switch n := len ( s ); n {
34
+ case 0 :
35
35
return 1
36
- case len ( s ) == 1 :
36
+ case 1 :
37
37
if s [0 ] <= 0x7f {
38
38
return 1
39
39
} else {
40
40
return 2
41
41
}
42
42
default :
43
- return uint64 (headsize (uint64 (len ( s ))) + len ( s ) )
43
+ return uint64 (headsize (uint64 (n )) + n )
44
44
}
45
45
}
46
46
47
47
// BytesSize returns the encoded size of a byte slice.
48
48
func BytesSize (b []byte ) uint64 {
49
- switch {
50
- case len ( b ) == 0 :
49
+ switch n := len ( b ); n {
50
+ case 0 :
51
51
return 1
52
- case len ( b ) == 1 :
52
+ case 1 :
53
53
if b [0 ] <= 0x7f {
54
54
return 1
55
55
} else {
56
56
return 2
57
57
}
58
58
default :
59
- return uint64 (headsize (uint64 (len ( b ))) + len ( b ) )
59
+ return uint64 (headsize (uint64 (n )) + n )
60
60
}
61
61
}
62
62
@@ -105,18 +105,20 @@ func SplitUint64(b []byte) (x uint64, rest []byte, err error) {
105
105
if err != nil {
106
106
return 0 , b , err
107
107
}
108
- switch {
109
- case len ( content ) == 0 :
108
+ switch n := len ( content ); n {
109
+ case 0 :
110
110
return 0 , rest , nil
111
- case len ( content ) == 1 :
111
+ case 1 :
112
112
if content [0 ] == 0 {
113
113
return 0 , b , ErrCanonInt
114
114
}
115
115
return uint64 (content [0 ]), rest , nil
116
- case len (content ) > 8 :
117
- return 0 , b , errUintOverflow
118
116
default :
119
- x , err = readSize (content , byte (len (content )))
117
+ if n > 8 {
118
+ return 0 , b , errUintOverflow
119
+ }
120
+
121
+ x , err = readSize (content , byte (n ))
120
122
if err != nil {
121
123
return 0 , b , ErrCanonInt
122
124
}
0 commit comments