Язык 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,

Другие вопросы по тегам