问题标签 [go-interface]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
861 浏览

go - 为其类型断言接口

在一般情况下,我无法优雅地将图像的像素作为数组。

现在函数 getPixels 看起来像这样:

但我认为这很丑陋。Golang 知道图像的类型,我更喜欢这样的东西:

我也不能断言reflect.TypeOf(img)。也许有一种方法可以从reflect.Type界面获取类型?

0 投票
1 回答
804 浏览

go - gob.Register 名称未为另一个包中的接口注册

我最近重组了我的代码,现在main包下有两个包:chainapi.

chain我定义了一些 structsSomeStruct1和这些结构SomeStruct2的接口SomeInterface。以下是chain/cli.go外观。

我放的api/api.go里面还有另一个类似的地方。Run()gob.Register(chain.SomeStruct1{})

main.go看起来像这样:

但是,我gob: name not registered for interface: "main.SomeStruct1"在运行时遇到了错误。当我将所有代码都放在一个包中时,这并没有发生main,我觉得奇怪的SomeStruct1是现在在chain包下但错误提到了main.SomeStruct1. 我哪里弄错了gob.Register()

0 投票
0 回答
114 浏览

c - 如何在 C 编程中使用和实现空的 golang 接口 {}

string_operation.go (golang 函数)

导出以在 C 代码中使用时的上述 golang 文件

string_operation.h(导出的头文件)

现在的问题是如何在 C 代码中实现空接口{}?

0 投票
2 回答
5175 浏览

go - Go接口返回类型

我有一个这样的界面:

所以我从 View 创建了一个新类型

然后我将 MainView 传递给以下方法:

但我得到这个错误:

不能在 Render 的参数中使用 MainView 文字(类型 MainView)作为 ViewInterface 类型:MainView 没有实现 ViewInterface(Init 方法的类型错误)
有 Init() MainView
想要 Init() 视图

为什么MianView不一样View?解决这个问题的正确方法是什么?

谢谢

0 投票
1 回答
1919 浏览

go - GoLang 接口名称及其方法数量的规则

我在工作中讨论了接口名称和方法编号之间的相关性。特别是,关于后缀符号以名称结尾的接口有一条不成文的规则er。规则说这样的接口应该包含一个方法。

让我们来看一个例子。在标准的 Go 语言库中,有一个Pusher接口做一件事“推送启动 HTTP/2 服务器推送”。这是它的定义:

https://golang.org/pkg/net/http/#Pusher

好的例子。但是,一些同事为他的实现进行了辩护,该实现包含两个以上带有erin name 后缀的方法。主要论点是有标准库的接口违反了这样的规则。他提到了界面ReadCloser

看它的定义:

https://golang.org/pkg/io/#ReadCloser

我可以说它的错误假设。接口本身嵌入了另外两个接口。我如何解释?没有违反规则。

你将如何解释这样的案例?

0 投票
2 回答
346 浏览

go - 接口的结构嵌入,恐慌:运行时错误

我正在尝试一个与接口的结构嵌入相关的示例

并且该Write方法未定义,因此我收到此运行时错误

存在某种在编译时验证它的方法吗?

链接到代码

https://play.golang.org/p/SYiZ7M1OEhU

0 投票
1 回答
1893 浏览

go - golang 从接口获取值{}

我正在遍历从 couchDB.View 返回的结果并提取密钥。

结果是:

我需要通读这个界面并获得第二个值(“mgr”或“nh”)。

我无法对此进行迭代,因为这不是地图。

0 投票
2 回答
62 浏览

go - 接口类型和值可以是不实现接口及其值的类型吗?

这是我正在查看的代码和描述的链接:https ://tour.golang.org/methods/11

我将 *T 类型的方法 M 更改为 T,即从指针接收器更改为值接收器,如下所示。

但是,上面的更改给了我相同的结果,因为它仍然是一个指针接收器。

我不确定我是否理解了这个概念。根据我的理解,由于接口变量我得到了一个指向 struct T 实例的指针,该接口变量的类型应该是指向 struct T 的指针,并且由于指向 struct T 的指针没有实现方法 M,它会导致恐慌。

0 投票
1 回答
763 浏览

go - 列出在 Go 中实现接口的所有类型

我是 Go 新手,我想知道 Goland 中是否有办法或使用 CLI 工具列出实现给定接口的所有类型。

我找到了一个名为的工具guru,它可以列出由给定类型实现的所有接口,但我无法让它在 CLI 中工作。

0 投票
2 回答
4190 浏览

go - Golang 与 GORM。如何正确地将模型类型传递给方法?

我有下一个 GORM 模型

我尝试将 GORM 实体类型传递到基础 crud 存储库中。我的基础 crud 存储库:

正如你在这里看到的,方法中itemlocal变量Find()

我通过item服务使用下一个方式:

似乎什么localitem必须相等,行为必须相等。

但输出是

item从服务传递到消息

不受支持的目的地,应该是切片或结构

如何item正确通过,我需要类似 with 的行为local