首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >传递与接口方法中的参数相同的接口

传递与接口方法中的参数相同的接口
EN

Stack Overflow用户
提问于 2021-02-07 16:39:30
回答 1查看 54关注 0票数 0

我正在尝试使用Golang中的接口实现来实现一个比较逻辑。我需要找到不同结构的差异。

所以我试着这样做

代码语言:javascript
复制
package main

import "fmt"

type foo interface {
    diff(f foo) bool
}

type baz struct {
    i int
}

func (b baz) diff(eb baz) bool {
    return b.i != eb.i
}

func main() {
    b1 := baz{1}
    b2 := baz{2}

    if b1.diff(b2) {
        fmt.Println("data is different")
    } else {
        fmt.Println("data is same")
    }
}

它工作得很好。但是我需要确认Golang是否支持这种类型的接口实现,其中方法接受相同的接口。

EN

回答 1

Stack Overflow用户

发布于 2021-02-09 19:01:51

在golang中,它的核心没有面向对象的概念,所以它没有实现。引用https://tour.golang.org/methods/10,所以当你实现接口时,它将与其他语言不同,这意味着你的类将拥有表示接口方法的所有方法,但对于golang,当你的结构具有与接口中的方法相同的方法时,你的结构的方法将显式地满足接口,就像你可以使用结构的方法一样。

如果你结构有比接口方法更多的方法,当你调用接口方法时,你仍然可以使用你的方法(满足接口)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66085992

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档