Use type switch (#5122)
This commit is contained in:
parent
a908b29a74
commit
971dccda16
2 changed files with 24 additions and 24 deletions
|
@ -441,41 +441,41 @@ func Subtract(left interface{}, right interface{}) interface{} {
|
|||
var rleft, rright int64
|
||||
var fleft, fright float64
|
||||
var isInt = true
|
||||
switch left.(type) {
|
||||
switch left := left.(type) {
|
||||
case int:
|
||||
rleft = int64(left.(int))
|
||||
rleft = int64(left)
|
||||
case int8:
|
||||
rleft = int64(left.(int8))
|
||||
rleft = int64(left)
|
||||
case int16:
|
||||
rleft = int64(left.(int16))
|
||||
rleft = int64(left)
|
||||
case int32:
|
||||
rleft = int64(left.(int32))
|
||||
rleft = int64(left)
|
||||
case int64:
|
||||
rleft = left.(int64)
|
||||
rleft = left
|
||||
case float32:
|
||||
fleft = float64(left.(float32))
|
||||
fleft = float64(left)
|
||||
isInt = false
|
||||
case float64:
|
||||
fleft = left.(float64)
|
||||
fleft = left
|
||||
isInt = false
|
||||
}
|
||||
|
||||
switch right.(type) {
|
||||
switch right := right.(type) {
|
||||
case int:
|
||||
rright = int64(right.(int))
|
||||
rright = int64(right)
|
||||
case int8:
|
||||
rright = int64(right.(int8))
|
||||
rright = int64(right)
|
||||
case int16:
|
||||
rright = int64(right.(int16))
|
||||
rright = int64(right)
|
||||
case int32:
|
||||
rright = int64(right.(int32))
|
||||
rright = int64(right)
|
||||
case int64:
|
||||
rright = right.(int64)
|
||||
rright = right
|
||||
case float32:
|
||||
fright = float64(right.(float32))
|
||||
fright = float64(right)
|
||||
isInt = false
|
||||
case float64:
|
||||
fright = right.(float64)
|
||||
fright = right
|
||||
isInt = false
|
||||
}
|
||||
|
||||
|
|
|
@ -299,21 +299,21 @@ func TestFileSize(t *testing.T) {
|
|||
|
||||
func TestSubtract(t *testing.T) {
|
||||
toFloat64 := func(n interface{}) float64 {
|
||||
switch n.(type) {
|
||||
switch n := n.(type) {
|
||||
case int:
|
||||
return float64(n.(int))
|
||||
return float64(n)
|
||||
case int8:
|
||||
return float64(n.(int8))
|
||||
return float64(n)
|
||||
case int16:
|
||||
return float64(n.(int16))
|
||||
return float64(n)
|
||||
case int32:
|
||||
return float64(n.(int32))
|
||||
return float64(n)
|
||||
case int64:
|
||||
return float64(n.(int64))
|
||||
return float64(n)
|
||||
case float32:
|
||||
return float64(n.(float32))
|
||||
return float64(n)
|
||||
case float64:
|
||||
return n.(float64)
|
||||
return n
|
||||
default:
|
||||
return 0.0
|
||||
}
|
||||
|
|
Reference in a new issue