Golang对函数参数是interface类型进行类型推断

package main

import (
	"fmt"
)

func checkType(i interface{}) {
	switch v := i.(type) {                            //这里是通过i.(type)来判断是什么类型  下面的case分支匹配到了 则执行相关的分支
	case int:
		fmt.Printf("%v is an int", v)
	case string:
		fmt.Printf("%v is string", v)
	case bool:
		fmt.Printf("%v is bool", v)
	}
}

func main() {
	var a int
	checkType(a)

}

  

posted @ 2018-10-25 21:22  Egrep  阅读(3706)  评论(0编辑  收藏  举报