英文:
Go language cannot use r (type *mux.Router) as type *mux.Route in return argument
问题
你好,以下是翻译好的内容:
嗨,我在另一个Go文件中初始化了路由器,并在主文件中返回了它的引用,然后在主文件中初始化了serve。这段代码无法编译。
package router
import (
"github.com/gorilla/mux"
"binapp/controllers"
)
const all_bin string = "/bin"
func InitRouter() (*mux.Route) {
r := mux.NewRouter().StrictSlash(true)
r.HandleFunc(all_bin, controllers.BinController)
return r
}
package main
import (
"binapp/router"
"log"
"net/http"
)
func main() {
router := router.InitRouter()
log.Fatal(http.ListenAndServe(":9096", router))
}
我得到的错误是:
# binapp/router
binapp/router/Route.go:15: cannot use r (type *mux.Router) as type *mux.Route in return argument
希望对你有帮助!
英文:
Hi i am initializing Router in other Go file and returning reference of it in Main file and then in Main file i am initializing serve.
This piece of code is not compiling
package router
import (
"github.com/gorilla/mux"
"binapp/controllers"
)
const all_bin string = "/bin"
func InitRouter() (*mux.Route) {
r := mux.NewRouter().StrictSlash(true)
r.HandleFunc(all_bin, controllers.BinController)
return r
}
package main
import (
"binapp/router"
"log"
"net/http"
)
func main() {
router := router.InitRouter()
log.Fatal(http.ListenAndServe(":9096", router))
}
I am getting error as:
# binapp/router
binapp/router/Route.go:15: cannot use r (type *mux.Router) as type *mux.Route in return argument
答案1
得分: 3
InitRouter
的返回类型是错误的。你返回了一个*mux.Router
,但指定了一个*mux.Route
的返回类型。
英文:
The return type for InitRouter
is wrong. You return a *mux.Router
but specify a return type of *mux.Route
.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论