繁体   English   中英

如何将 function 从另一个目录连接到 Go/Echo?

[英]How do I connect a function from another directory to Go/Echo?

创建了一个具有以下结构的项目:

lolo
--views
----count_private.go
--go.mod
--go.sum
--logs.log
--main.go

main.go中的代码

package main

import(
"lolo/views"

"github.com/labstack/echo/v4"
)

func main() {
e := echo.New()

e.GET("/f_count_private", views.F_count_private)

e.Logger.Fatal(e.Start(":1323"))
}

count_private.go中的代码

package views

import(
"net/http"

"github.com/labstack/echo"
)

func F_count_private(c echo.Context) error {
return c.String(http.StatusOK, "Hello, World!")
}

通过$ go run main.go命令运行代码时,会抛出错误:

# lolo/views
views\count_private.go:9:6: F_count_private redeclared in this block
        views\cat.go:7:6: other declaration of F_count_private

你能告诉我如何解决这个错误并使它可以使用 main main() ) 中另一个文件中的f_count_private(...) function 吗?

views package 中,您导入"github.com/labstack/echo/v4" github.com/labstack/echo/v4”package。

main使用来自e.GETgithub.com/labstack/echo/v4 ,并在views package 中导入"github.com/labstack/echo"

这些是 go 的不同包,因此FCountPrivate定义中的echo.Context类型与github.com/labstack/echo/v4 ZEFE070A8E6034A67F6 中的HandlerFunc类型中使用的Context类型不同

回复@用户:371023

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM