boy := util.Boy{util.Person{"Eric", 19, "boy"}, "1"} var boyClone interface{} = boy
如何判断 boyClone是否是boy类型呢?
if i, ok := boyClone.(util.Boy); ok { fmt.Println(i) }
如果判断多个类型,可以如下书写:
switch v := boyClone.(type) { case nil: fmt.Println("nil") case fmt.Stringer: fmt.Println(v) case func() string: fmt.Println(v()) case util.Boy: fmt.Println(v) default: fmt.Println("unknow") }