gpt4 book ai didi

go - 在 Go 中从派生类型调用方法

转载 作者:IT王子 更新时间:2023-10-29 01:52:38 25 4
gpt4 key购买 nike

我有两个文件,generic_handler.go,基本上是这样的:

type Handler struct{
fields map[string]interface{}
}

func (handler *Handler) addField(key string, value interface{}){ some code }

和 stat_handler.go:

type StatHandler Handler

当我尝试调用(从 stat_handler.go 文件中)这样的方法时,出现错误:

//inside some function
stathandler.addField("some field", "some value")

错误显示 type StatHandler has no field or method addField。即使我通过将 AddField 导出 addField 也是一样的。这两个文件位于同一个包中。

有什么我想念的吗?

最佳答案

在 Go 中,您通常会通过组合来完成此操作:

type StatHandler struct {
Handler // Anonymous member of type Handler
}

// ...Later on
var stathandler StatHandler
stathandler.addField("some field", "some value")

关于go - 在 Go 中从派生类型调用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37156606/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com