类型开关需要自省的接口。如果将已知类型的值传递给它,则它会炸毁。如果您创建一个接受接口作为参数的函数,它将起作用:
func typeSwitch(tst interface{}) { switch v := tst.(type) { case Stringer:fmt.Println("Stringer:", v) default:fmt.Println("Unknown") }}
请参阅http://play.golang.org/p/QNyf0eG71_上的完整代码,以及接口http://golang.org/doc/effective_go.html#interfaces上的golang文档。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)