Язык Go не может использовать r (тип *mux.Router) как тип * mux.Route в возвращаемом аргументе
Привет, я инициализирую маршрутизатор в другом файле Go и возвращаю ссылку на него в главном файле, а затем в главном файле я инициализирую подачу. Этот кусок кода не компилируется
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
1 ответ
Решение
Тип возврата для InitRouter
неправильно. Вы возвращаете *mux.Router
но укажите тип возвращаемого значения *mux.Route
,