当前位置: 首页 > 面试题库 >

有关接口“所有已知实现”的文档

姜凯风
2023-03-14
问题内容

在学习Go的几个月中,我只是发现通过实现功能来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"。使用文档,您可以找到哪些类型实现了接口以及为该类型设置的方法。

还有一个指针分析,可让您查找各种类型的呼叫者和被呼叫者。通道send <-–>接收分析非常简洁。

您还可以在http://golang.org/lib/godoc/analysis/help.html上阅读有关godoc工具完成的静态分析的更多信息。



 类似资料:
  • 问题内容: 我正在开发一个应用程序(Quartz调度程序),其中有一个作业类负责实际执行工作,我们需要在Quartz调度程序中创建触发器时告知/传递作业类的名称。 我想为所有想使用该API的人提供一个扩展点(除了我将作为API的一部分提供的一些通用作业之外)。这个想法是创建一个(标记)接口,如果有人想将其类声明为调度程序作业类,那么他们要做的就是(声明)实现该接口。 我不确定如何找到合约之后的类(

  • 本文向大家介绍函数window.open实现关闭所有的子窗口,包括了函数window.open实现关闭所有的子窗口的使用技巧和注意事项,需要的朋友参考一下 此文介绍了如何用window.open方法打开一个子窗口,当我们要关闭主窗口时,这时候所有的子窗口也会跟着关闭。下面有我的实现思路和代码,分享给大家。 实现思路: 1.打开子窗口函数window.open(url,winName)的第二个参数w

  • 问题内容: 我正在实现一个接口,现在我想在classpath中获得该接口的所有实现。这可能还是我应该做些其他的事情? 问题答案: 充其量,这将是昂贵的。在最坏的情况下(取决于类加载器),这可能是不可能的。 我强烈建议您寻找一种替代方法来解决您要解决的基本问题。

  • 问题内容: 考虑以下类层次结构: 众所周知,子类与其超类之间存在关系(is-a)。 问:有没有像“是一个”之间的任何关系和? 好的答案,但是您说过“ is-a”也是和之间的关系, 但是 “ is-a”是 类 之间的关系,并且接口不是类! 问题答案: 是。关系是完全一样的 书也是应税的。 编辑 接口是与Java的关键字(可能是C#我不知道)匹配的工件。 在OO接口中,类是“提交”的一组操作,仅此而已

  • 问题内容: 如何获得在Spring中实现特定通用接口(例如Filter >)的所有bean的引用? 这是我希望以最少的行数实现的目标: 我当前的实现使用反射来确定filter.approve在调用事件之前是否确实接受该事件。例如 dosFilterAcceptEventAsArgument在哪里做所有我想摆脱的丑陋工作。有什么建议? 问题答案: 如果您的问题是“ Spring是否有更好的方法来做到

  • 问题内容: 我正在寻找可以从nodejs访问的git的实现-这样的野兽存在吗? 问题答案: 看起来现在有一些使用git from node的选项: 礼物:用于Git CLI的简单Node.js包装器,带有基于Grit的API(npm / github) node-git:基于grit(npm / github)的node.js git实现 nodegit:libgit2异步本机绑定(npm / g