|
|
- package main
-
- import (
- "errors"
- "fmt"
- )
-
- func doubler(v interface{}) (string, error) {
-
- if i, ok := v.(int); ok {
- return fmt.Sprint(i * 2), nil
- }
- if s, ok := v.(string); ok {
- return s + s, nil
- }
- return "", errors.New("unsupported type passed")
-
- }
-
- func main() {
-
- res, _ := doubler(5)
- fmt.Println("5 :", res)
- res, _ = doubler("yum")
- fmt.Println("yum:", res)
- _, err := doubler(true)
- fmt.Println("true:", err)
-
- }
|