Go语言无法将r(类型*mux.Router)用作返回参数中的类型*mux.Route。

huangapple go评论76阅读模式
英文:

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.

huangapple
  • 本文由 发表于 2016年12月23日 14:57:18
  • 转载请务必保留本文链接:https://go.coder-hub.com/41296633.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定