为了账号安全,请及时绑定邮箱和手机立即绑定

Go 无法调用 NewRouter() 函数

Go 无法调用 NewRouter() 函数

Go
慕神8447489 2021-12-07 14:50:44
我是 Go 的新手,但我正在尝试使用 Gorilla Mux 创建一个 RESTful API,以根据这篇文章创建我的路由器http://thenewstack.io/make-a-restful-json-api-go/我有一个包含以下代码的路由器文件。package mainimport (    "net/http"    "github.com/gorilla/mux")type Route struct {    Name        string    Method      string    Pattern     string    HandlerFunc http.HandlerFunc}type Routes []Routefunc NewRouter() *mux.Router {    router := mux.NewRouter().StrictSlash(true)    for _, route := range routes {        router.            Methods(route.Method).            Path(route.Pattern).            Name(route.Name).            Handler(route.HandlerFunc)    }    return router}var routes = Routes{    Route{        "Index",        "GET",        "/",        Index,    },}在我的 Main.go 中,我有这个:package mainimport (    "log"    "net/http")func main() {    router := NewRouter()    log.Fatal(http.ListenAndServe(":8080", router))}根据我对 Go 的了解以及如何从另一个文件调用一个文件中的方法,这应该可行。但是当我运行: go build Main.go 时,我在控制台中收到此错误:go run Main.go# command-line-arguments./Main.go:10: undefined: NewRouter我已经在我的 src 文件夹中运行了go get,该文件夹中包含我的所有文件以获取 gorilla ,但这并没有解决它。我在这里做错了什么?
查看完整描述

1 回答

?
largeQ

TA贡献2039条经验 获得超7个赞

如果您的main包包含多个.go文件,则必须将所有文件都传递给go run,例如:

go run Main.go Router.go


查看完整回答
反对 回复 2021-12-07
  • 1 回答
  • 0 关注
  • 262 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信