例:
在包中io,类型ByteReader定义了一个包装方法的接口ReadByte() (c byte, err error).
找出 标准库中哪些类型(即golang.org/pkg中列出的)满足此接口的最简单方法是什么?
这只是经验问题还是有任何其他帮助?
zzz*_*zzz 18
主要是经验.无论如何,例如:
jnml@fsc-r630:~/go/src/pkg$ egrep -nr '^func (.*) ReadByte\(' *
bufio/bufio.go:165:func (b *Reader) ReadByte() (c byte, err error) {
bytes/reader.go:59:func (r *Reader) ReadByte() (b byte, err error) {
bytes/buffer.go:289:func (b *Buffer) ReadByte() (c byte, err error) {
encoding/xml/xml_test.go:234:func (d *downCaser) ReadByte() (c byte, err error) {
strings/reader.go:58:func (r *Reader) ReadByte() (b byte, err error) {
jnml@fsc-r630:~/go/src/pkg$
Run Code Online (Sandbox Code Playgroud)
此外,golang.org网站还具有区分大小写的搜索功能.
现在有更好的方法来做到这一点,而不仅仅是搜索.
Go Oracle有一个实现查询,它将显示哪些类型实现了特定的接口,以及特定类型实现的接口.
此外,这是一个声称提供相同功能的工具:https://github.com/dominikh/implements.