为了账号安全,请及时绑定邮箱和手机立即绑定

golang中的实现接口

golang中的实现接口

Go
ibeautiful 2021-09-27 17:18:58
我想实现如下所示的接口。我不知道如何开始。有人可以告诉我应该如何实现这些功能吗?package intervalpackage maintype Interval interface {    contains(r float64) bool // if r is in x, then true    average(Y Intervall) (Intervall, error)    String() string                    //cast interval"[a,b]" to [a,b]    completecontains(Y Intervall) bool //if y is completely in x, give true    New(a, b float64) Intervall    //var a int}type Complex struct {    first int}func (c Complex) contains(r float64) bool {    if a <= r <= b {        return true    } else {        return false    }}func (c Complex) String() string {    return "a"}func (c Complex) length() float64 {    return 2.3}func main() {}
查看完整描述

2 回答

?
绝地无双

TA贡献1946条经验 获得超4个赞

我真的不知道你在这里真正想做什么,但是代码有几个问题

  1. a 和 b 未定义,我将它们添加到 complex 以使其编译

  2. a <= r <= b 在 go 中无效,更改为

  3. 你有一个主要的,所以我假设你的意思是这是一个可运行的应用程序。包需要被称为“main”才能直接运行。

可能不是你想要的,但它现在编译并运行(但不做任何事情,因为 main 是空的)

package main


//import "fmt"


type Intervall interface {

    contains(r float64) bool // if r is in x, then true

    average(Y Intervall) (Intervall, error)

    String() string                    //cast interval"[a,b]" to [a,b]

    completecontains(Y Intervall) bool //if y is completely in x, give true

    New(a, b float64) Intervall

}


type Complex struct {

    first int

    a     float64

    b     float64

}


func (c Complex) contains(r float64) bool {


    if c.a <= r && r <= c.b {

        return true

    } else {

        return false

    }

}


func (c Complex) String() string {

    return "a"


}

func (c Complex) length() float64 {

    return 2.3

}


func main() {


}


查看完整回答
反对 回复 2021-09-27
  • 2 回答
  • 0 关注
  • 190 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信