问题标签 [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.
go - 为其类型断言接口
在一般情况下,我无法优雅地将图像的像素作为数组。
现在函数 getPixels 看起来像这样:
但我认为这很丑陋。Golang 知道图像的类型,我更喜欢这样的东西:
我也不能断言reflect.TypeOf(img)
。也许有一种方法可以从reflect.Type
界面获取类型?
go - gob.Register 名称未为另一个包中的接口注册
我最近重组了我的代码,现在main
包下有两个包:chain
和api
.
在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()
?
c - 如何在 C 编程中使用和实现空的 golang 接口 {}
string_operation.go (golang 函数)
导出以在 C 代码中使用时的上述 golang 文件
string_operation.h(导出的头文件)
现在的问题是如何在 C 代码中实现空接口{}?
go - Go接口返回类型
我有一个这样的界面:
所以我从 View 创建了一个新类型
然后我将 MainView 传递给以下方法:
但我得到这个错误:
不能在 Render 的参数中使用 MainView 文字(类型 MainView)作为 ViewInterface 类型:MainView 没有实现 ViewInterface(Init 方法的类型错误)
有 Init() MainView
想要 Init() 视图
为什么MianView
不一样View
?解决这个问题的正确方法是什么?
谢谢
go - GoLang 接口名称及其方法数量的规则
我在工作中讨论了接口名称和方法编号之间的相关性。特别是,关于后缀符号以名称结尾的接口有一条不成文的规则er
。规则说这样的接口应该包含一个方法。
让我们来看一个例子。在标准的 Go 语言库中,有一个Pusher
接口做一件事“推送启动 HTTP/2 服务器推送”。这是它的定义:
https://golang.org/pkg/net/http/#Pusher
好的例子。但是,一些同事为他的实现进行了辩护,该实现包含两个以上带有er
in name 后缀的方法。主要论点是有标准库的接口违反了这样的规则。他提到了界面ReadCloser
。
看它的定义:
https://golang.org/pkg/io/#ReadCloser
我可以说它的错误假设。接口本身嵌入了另外两个接口。我如何解释?没有违反规则。
你将如何解释这样的案例?
go - 接口的结构嵌入,恐慌:运行时错误
我正在尝试一个与接口的结构嵌入相关的示例
并且该Write
方法未定义,因此我收到此运行时错误
存在某种在编译时验证它的方法吗?
链接到代码go - golang 从接口获取值{}
我正在遍历从 couchDB.View 返回的结果并提取密钥。
结果是:
我需要通读这个界面并获得第二个值(“mgr”或“nh”)。
我无法对此进行迭代,因为这不是地图。
go - 接口类型和值可以是不实现接口及其值的类型吗?
这是我正在查看的代码和描述的链接:https ://tour.golang.org/methods/11
我将 *T 类型的方法 M 更改为 T,即从指针接收器更改为值接收器,如下所示。
但是,上面的更改给了我相同的结果,因为它仍然是一个指针接收器。
我不确定我是否理解了这个概念。根据我的理解,由于接口变量我得到了一个指向 struct T 实例的指针,该接口变量的类型应该是指向 struct T 的指针,并且由于指向 struct T 的指针没有实现方法 M,它会导致恐慌。
go - 列出在 Go 中实现接口的所有类型
我是 Go 新手,我想知道 Goland 中是否有办法或使用 CLI 工具列出实现给定接口的所有类型。
我找到了一个名为的工具guru
,它可以列出由给定类型实现的所有接口,但我无法让它在 CLI 中工作。
go - Golang 与 GORM。如何正确地将模型类型传递给方法?
我有下一个 GORM 模型
我尝试将 GORM 实体类型传递到基础 crud 存储库中。我的基础 crud 存储库:
正如你在这里看到的,方法中item
的local
变量Find()
。
我通过item
服务使用下一个方式:
似乎什么local
和item
必须相等,行为必须相等。
但输出是
item
从服务传递到消息
不受支持的目的地,应该是切片或结构
如何item
正确通过,我需要类似 with 的行为local
?