在学习Go的几个月中,我只是发现通过实现功能来os.File实现io.Reader接口Read(b []byte) (n int, err error)。这使我可以使用缓冲读取器通过执行以下操作来读取文件:
os.File
io.Reader
Read(b []byte) (n int, err error)
f, err := os.Open("myfile.txt") bufReader := bufio.NewReader(f)
除非我错过了它,否则看起来像Java接口文档中的接口一样,接口的Go文档中没有“所有已知的实现类”。
有什么方法可以识别在Go中实现接口的类型?
您可以使用godoc命令的静态分析工具找到所需的信息以及更多信息。在命令行中运行以下命令:godoc -http=":8080" -analysis="type"。使用文档,您可以找到哪些类型实现了接口以及为该类型设置的方法。
godoc -http=":8080" -analysis="type"
还有一个指针分析,可让您查找各种类型的呼叫者和被呼叫者。通道send <-–>接收分析非常简洁。
您还可以在http://golang.org/lib/godoc/analysis/help.html上阅读有关godoc工具完成的静态分析的更多信息。