相关疑难解决方法(0)

interface {}的含义是什么?

我是接口的新手,并试图通过github做SOAP请求

我不明白的意思

Msg interface{}
Run Code Online (Sandbox Code Playgroud)

在这段代码中:

type Envelope struct {
    Body `xml:"soap:"`
}

type Body struct {
    Msg interface{}
}
Run Code Online (Sandbox Code Playgroud)

我观察到相同的语法

fmt.Println
Run Code Online (Sandbox Code Playgroud)

但不明白所取得的成就

interface{}
Run Code Online (Sandbox Code Playgroud)

go

122
推荐指数
5
解决办法
4万
查看次数

为什么要使用接口,多重继承与接口,接口的好处?

我对这件事情仍然有些困惑.我到现在所发现的是

(这里已经提出了类似的问题,但我还有其他一些观点.)

  1. 接口是仅抽象方法和最终字段的集合.

  2. Java中没有多重继承.

  3. 接口可用于在Java中实现多重继承.

  4. 继承的一个优点是我们可以在派生类中使用基类代码而无需再次编写它.可能这是继承在那里最重要的事情.

现在..

Q1.由于接口只有抽象方法(没有代码)所以我们怎么说如果我们实现任何接口那么它是继承?我们没有使用它的代码.

Q2.如果实现接口不是继承,那么如何使用接口来实现多重继承?

Q3.无论如何使用Interfaces有什么好处?他们没有任何代码.我们需要在我们实现它的所有类中反复编写代码.

那么为什么要制作接口呢?

注意:我找到了一个接口有用的案例.它的一个例子就像在Runnable接口中我们有public void run()方法,我们在其中定义线程的功能,并且内置编码,该方法将作为单独的线程运行.所以我们只需要编写线程中的代码,Rest是预定义的.但是这个东西也可以用抽象类和所有东西来实现.

那么使用接口的确切好处是什么?我们使用Interfaces实现了多重继承吗?

java oop inheritance interface multiple-inheritance

63
推荐指数
6
解决办法
5万
查看次数

在Go中使用接口

我想了解接口类型,并在Go(语言)中使用它的一个简单示例.

我阅读了网络文档,但我没有得到它.

interface go

13
推荐指数
1
解决办法
3609
查看次数

Go接口有哪些例子?

我发现了一篇关于Go 的有趣博客文章.

我试图理解接口的概念,但我发现很难从博客文章中的代码片段这样做,而且几乎不可能从语言规范中做到这一点.

任何人都可以在工作程序中指出一个简单的Go接口示例吗?

go

7
推荐指数
2
解决办法
1935
查看次数

Go和Java在接口上有什么区别?

最近有人问我一个问题,Golang 和 Java 在interface 上有什么区别?

我知道存在一些“语法糖级别”差异,我感兴趣的是地下的任何东西,比如 Golang 和 Java 是如何实现接口的?最大的区别是什么?哪一种更有效率?为什么?

任何人都可以发布有关此主题的博客链接或源代码吗?源代码更好。

谢谢。

java interface go

3
推荐指数
1
解决办法
4100
查看次数

如果没有强制执行Go的接口,它们是否必要?

Go语言将接口类型作为功能,类似于C风格的接口.但是,Go的接口类型似乎没有被强制执行 - 它们只是定义协议而不实际应用于类型.由于它们没有强制执行,使用接口仍然是个好主意吗?

go

1
推荐指数
1
解决办法
192
查看次数

接口和将匿名字段嵌入到结构中

当附近发生爆炸时,我正试图代表靠近窗户的人戴眼镜.main是爆炸期间应​​该做什么的草图.有些东西应该收集爆炸附近的物体清单,并为每个物体做特定的事情(例如粉碎或熔化).玻璃和窗户如预期的那样破碎,但出于某种原因,人类也会破碎.为什么?

package main
import "fmt"
type Human struct { Glasses }
type Glasses struct {}
type Shatterable interface { shatter() }
func (g Glasses) shatter() {}
type Window struct {}
func (w Window) shatter() {}

func main() {
    h := Human{Glasses{}}
    objectsInProximity := []interface{}{h,h.Glasses,Window{}}
    for _,o := range objectsInProximity {
        shatter(o)
    }
}

func shatter(i interface{}) {
    s, ok := i.(Shatterable)
    if ok {
        fmt.Printf("shattering a %T\n", s)
        s.shatter()
    }
}
Run Code Online (Sandbox Code Playgroud)

$ go run a.go
shattering a main.Human …
Run Code Online (Sandbox Code Playgroud)

interface go

0
推荐指数
1
解决办法
1356
查看次数

标签 统计

go ×6

interface ×4

java ×2

inheritance ×1

multiple-inheritance ×1

oop ×1