iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > GO >是否可以通过该接口中的其他方法来实现一个接口中的方法?
  • 498
分享到

是否可以通过该接口中的其他方法来实现一个接口中的方法?

2024-04-05 00:04:10 498人浏览 八月长安
摘要

亲爱的编程学习爱好者,如果你点开了这篇文章,说明你对《是否可以通过该接口中的其他方法来实现一个接口中的方法?》很感兴趣。本篇文章就来给大家详细解析一下,主要介绍一下,希望所有认真读完的童鞋们,都有实

亲爱的编程学习爱好者,如果你点开了这篇文章,说明你对《是否可以通过该接口中的其他方法来实现一个接口中的方法?》很感兴趣。本篇文章就来给大家详细解析一下,主要介绍一下,希望所有认真读完的童鞋们,都有实质性的提高。

问题内容

例如,名为 computable 的接口,它有两个方法:sqrt()abs()

如果我想添加一个名为curve()的方法来计算sqrt和abs之和。

type Computable interace { 
    Sqrt() number  // method 1
    Abs() number   // method 2
    Curve() number // method should call Sqrt() + Abs()
}

显然,所有接口实现都不需要重写第三个方法。在c++/java中,解决这个问题很容易,但是谁能告诉我如何实现呢?


正确答案


Go 中没有默认方法实现。

在您的情况下,最简单的解决方案是将 curve() 移到界面之外,并将其实现为一个简单的函数:

type computable interface {
    sqrt() number // method 1
    abs() number  // method 2
}

func curve(c computable) number {
    return c.sqrt() + c.abs()
}

如果它必须是接口的一部分,那么您可以创建 curve() 的单个实现,该实现使用 computable 的值作为其“源”:

type curveimpl struct {
    computable
}

func (c curveimpl) curve() number {
    return c.sqrt() + c.abs()
}

希望实现 computable 的具体类型可以嵌入 curveimpl,但要使其正常工作,必须正确初始化:

type Foo struct {
    curveImpl
}

func (Foo) Sqrt() number { return 2.0 }
func (Foo) Abs() number  { return 4.0 }

func main() {
    f := Foo{}
    f.curveImpl = curveImpl{f}

    fmt.Println(f.Curve())
}

上面的示例输出 6(在 Go Playground 上尝试一下)。

正如您所看到的,完成这项工作涉及一些麻烦。所以在这种情况下,是否值得值得怀疑。如果 curve() 这么简单,我宁愿在需要的地方实现它。如果 curve() 会复杂得多,那么也许这种权衡是值得的。

再说一遍:最简单的方法是使用 curve() 函数,而不是这里的方法

理论要掌握,实操不能落!以上关于《是否可以通过该接口中的其他方法来实现一个接口中的方法?》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注编程网公众号吧!

您可能感兴趣的文档:

--结束END--

本文标题: 是否可以通过该接口中的其他方法来实现一个接口中的方法?

本文链接: https://www.lsjlt.com/news/596339.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 是否可以通过该接口中的其他方法来实现一个接口中的方法?
    亲爱的编程学习爱好者,如果你点开了这篇文章,说明你对《是否可以通过该接口中的其他方法来实现一个接口中的方法?》很感兴趣。本篇文章就来给大家详细解析一下,主要介绍一下,希望所有认真读完的童鞋们,都有实...
    99+
    2024-04-05
  • Android实现socket通信统一接口的方法
    目录UDP通信与TCP通信的实现UDP通信TCP客户端通信使用统一接口定义接口实现接口实现应用层总结Android实现socket通信统一接口,统一接口之后可以在不需要大量修改应用层...
    99+
    2024-04-02
  • PHP通过邮件接口实现邮件发送的方法
    PHP是一门十分强大的编程语言,可以用于开发各种类型的应用程序。其中,邮件发送功能是Web应用程序中非常重要的一部分。幸运的是,PHP提供了多种邮件发送API和库,方便开发者使用。本文将介绍通过PHP邮件接口实现邮件发送的方法。一、设置SM...
    99+
    2023-05-22
    PHP 邮件接口 发送方法
  • Golang接口实现的方法是什么
    这篇文章主要介绍“Golang接口实现的方法是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Golang接口实现的方法是什么”文章能帮助大家解决问题。Golang 接口是什么和C++、Java等...
    99+
    2023-07-05
  • Spring Security实现接口放通的方法详解
    目录1.SpringBoot版本2.实现思路3.实现过程3.1新建注解3.2新建请求枚举类3.3判断Controller方法上是否存在该注解3.4在SecurityConfig上进行...
    99+
    2024-04-02
  • spring注解识别一个接口的多个实现类方法
    1.比如有一个接口如下:public interface Filter { public String doFilter(String param); }...
    99+
    2023-05-31
    spring 注解 接口
  • Go 中的索引接口是否可以使用 NumPy 来进行优化?
    在 Go 中,索引接口是一个非常重要的概念。它允许用户按照特定的规则从数据结构中获取元素。然而,由于 Go 的索引接口在某些情况下可能会变得缓慢,因此一些开发人员开始考虑使用 NumPy 来进行优化。本文将探讨在 Go 中的索引接口是否可以...
    99+
    2023-06-29
    索引 接口 numy
  • 使用PHP的API接口:在移动应用中实现API接口的方法
    随着移动应用市场的火爆,越来越多的企业开始重视移动应用程序的开发和推广。而对于开发人员来说,API接口就是一个必不可少的技术,可以使移动应用与服务器之间进行数据交互,并在应用程序中进行数据处理、存储和显示操作。本文将介绍PHP ...
    99+
    2024-01-22
    PHP API 接口使用 移动应用程序
  • 空接口是绕过类型系统的一种方法吗?
    有志者,事竟成!如果你在学习Golang,那么本文《空接口是绕过类型系统的一种方法吗?》,就很适合你!文章讲解的知识点主要包括,若是你对本文感兴趣,或者是想搞懂其中某个知识点,就请你继续往下看吧~问...
    99+
    2024-04-05
  • Java中重定向日志接口的实现方法是什么?
    在Java应用程序中,日志是非常重要的一部分,它可以帮助开发人员查找问题并跟踪应用程序的运行情况。但是,在实际的应用中,我们不仅需要将日志输出到控制台,还需要将其输出到文件或者其他地方,这时就需要用到Java中的重定向日志接口。 Java...
    99+
    2023-11-05
    重定向 日志 接口
  • 详解Spring中实现接口动态的解决方法
    前言本文主要给大家介绍的是关于Spring实现接口动态的相关内容,分享出来供大家参考学习,下面话不多说,来一起看看详细的介绍吧。关于这个问题是因为领导最近跟我提了一个需求,是有关于实现类Mybatis的@Select、@Insert注解的功...
    99+
    2023-05-31
    spring 动态接口
  • java中接口与继承的概念和实现方法
    本篇内容主要讲解“java中接口与继承的概念和实现方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“java中接口与继承的概念和实现方法”吧!目录JAVA接口的概念接口的代码实现定义关键字:in...
    99+
    2023-06-20
  • java接口中静态方法的继承怎么实现
    这篇文章主要讲解了“java接口中静态方法的继承怎么实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“java接口中静态方法的继承怎么实现”吧!1、格式public static返...
    99+
    2023-06-30
  • 一文探讨PHP中的属性是否可以是方法
    PHP中的属性和方法是两个非常重要的概念。属性是类的数据成员,而方法则是对属性进行操作的代码块。如果您了解PHP,可能会注意到类中的属性和方法都是由关键字“public”、“private”或“protected”修饰的,这些关键字的作用是...
    99+
    2023-05-14
    php
  • ASP中实现接口传输数组的方法有哪些?
    在ASP中实现接口传输数组的方法有很多种,本文将介绍其中三种常用的方法。 方法一:使用JSON格式传输数组 JSON是一种轻量级的数据交换格式,它可以把复杂的数据结构序列化为字符串,便于在不同的平台之间传输和解析。在ASP中,我们可以使用J...
    99+
    2023-07-31
    数组 打包 接口
  • 一文教你使用Java8中的静态接口方法
    一文教你使用Java8中的静态接口方法?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。默认方法默认方法让我们能给我们的软件库的接口增加新的方法,并且能保证对使用这个接口的老版本代...
    99+
    2023-05-31
    java8 静态接口 ava
  • VB.NET实现接口的相关操作方法是怎样的
    VB.NET实现接口的相关操作方法是怎样的,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。开发人员在应用VB.NET进行实际开发的时候,发现其中有不少跟其他语言不一样的地方,...
    99+
    2023-06-17
  • 探究Python并发编程中接口优化的实现方法。
    Python并发编程是一种非常流行的编程技术,它可以在多个线程或进程中同时执行代码,从而提高程序的运行效率。然而,在实现Python并发编程时,我们需要注意接口的优化,这可以帮助我们提高程序的运行效率和可靠性。 一、Python并发编程中的...
    99+
    2023-05-26
  • ASP二维码响应接口的实现方法是什么?
    二维码已经成为了现代社会中不可或缺的一部分,它不仅可以用于商业营销、物流管理等领域,还可以用于个人的身份认证、支付等功能。而ASP是一种非常流行的Web开发语言,那么如何在ASP中实现二维码响应接口呢?本文将为您详细讲解ASP实现二维码响...
    99+
    2023-10-09
    二维码 响应 接口
  • Java中的clone()和Cloneable接口使用方法是什么
    本篇内容介绍了“Java中的clone()和Cloneable接口使用方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!clone()...
    99+
    2023-06-25
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作