Browse Source

Use type switch (#5122)

for-closed-social
Oleg Kovalov 6 years ago
committed by techknowlogick
parent
commit
971dccda16
2 changed files with 24 additions and 24 deletions
  1. +16
    -16
      modules/base/tool.go
  2. +8
    -8
      modules/base/tool_test.go

+ 16
- 16
modules/base/tool.go View File

@ -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
}

+ 8
- 8
modules/base/tool_test.go View File

@ -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
}

Loading…
Cancel
Save