2016-12-23 6 views
0

Привет, я инициализирую Router в другом файле Go и возвращаю ссылку на него в основном файле, а затем в основном файле, я инициализирую службу , Этот фрагмент кода не компиляцииЯзык Go не может использовать r (тип * mux.Router) как тип * mux.Route в аргументе return

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 

ответ

3

Возвращение типа для InitRouter неправильно. Вы возвращаете *mux.Router, но указываете тип возврата *mux.Route.

+0

Y Y Y на этой земле я совершил эту ошибку. В течение часа я запираюсь в ванной. – sector11