12345678910111213141516171819202122232425262728 |
- package rt
- import (
- "fmt"
- "reflect"
- )
- func intOf(x interface{}) (a int) {
- fmt.Println(reflect.TypeOf(x))
- switch x.(type) {
- case *INTEGER:
- z := *x.(*INTEGER)
- a = int(z)
- case *int:
- z := *x.(*int)
- a = z
- case int:
- a = x.(int)
- default:
- panic("unsupported type")
- }
- return a
- }
- func Sum(_a interface{}, _b interface{}) interface{} {
- var a int = intOf(_a)
- var b int = intOf(_b)
- return a + b
- }
|