如何从Golang中的外部包导入方法?

时间:2016-10-20 01:56:42

标签: go methods struct import

很抱歉,如果这个问题有点基础,但我无法找到任何相关文档。 我正在尝试从example.com/User/project/controllers

导入以下方法
func (env *Env) Index(ctx *fasthttp.RequestCtx, ps fasthttprouter.Params){
   fmt.Fprintf(ctx, "Hi there! RequestURI is %q", ctx.RequestURI())
}

进入以下文件,在路由器中使用如下

db, err := db.Conn()
    if err != nil {
        log.Panic(err)
    }

    env := &Env{db}

    ...

   router.GET("/", env.controllers.Index)///this import is not valid

我尝试使用controllers.env.Index env.controllers.Index我在导入之前尝试使用.导入.etc 在这个实例中,如何从另一个包导入一个方法,从而可以将结构(ENV)传递给它?为了澄清这里的问题,使用在帮助器顶部的包装顶部的方法,例如method.package.helper如何解析上面的代码,以便我可以从外部包将方法传递给帮助器 感谢

1 个答案:

答案 0 :(得分:1)

为了澄清一下,你想将你的db结构传递给你的Env结构吗?

如果我理解正确,

This可能会有所帮助。

由于struct实际上只是一个字段集合,它依赖于Env结构的构成。

您收到的错误是什么?