- тип не
func
, а func()
- Вам нужно позаботиться об ошибке
url.Parse
Есть переработанный код:
package main
import (
"fmt"
"net/url"
)
type Route struct {
filepath string
url *url.URL
}
func hello() {
fmt.Println("Hello World")
}
func mustParse(rawURL string) *url.URL {
parsedURL, err := url.Parse(rawURL)
if err != nil {
panic(err)
}
return parsedURL
}
func main() {
routes := map[Route]func(){
Route{"/var/www/index.html", mustParse("/home")}: hello,
}
fmt.Printf("routes: %+v\n", routes)
}
Решение с паникой может быть не самым лучшим, если вы не знаете, какие у вас данные.