[英]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.GET
的github.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.