我有一个对象,如os.Stdout
,我想知道它是否支持我的平台上的io.WriteCloser
。我可以得到我的对象的类型,但它并没有告诉我有关接口的任何信息。查找对象支持的所有导入接口
package main
import ("fmt"; "reflect"; "os")
func main() {
fmt.Println(reflect.TypeOf(os.Stdout))
}
该代码将*os.File
打印到控制台。
我可以手动查找,如果os.File
匹配io.WriteCloser
方法,但我很好奇得到此对象支持的所有接口。
“的所有接口”在运行时实际上是不可能的。检查一个已知的一个是通过“类型断言”完成的。 – Volker
@Volker这听起来像是一个有效的答案。 –