import ( "net/url")type Route struct{ filepath string url url.URL}func hello(){ fmt.Println("Hello World")}func main() { routes := map[Route]func{ Route{url.Parse("/home"), "/var/www/index.html"} : hello }}我无法弄清楚是什么语法错误阻止我将 Route 结构映射到函数。我收到此错误:./main.go:24:26: 语法错误:意外{,期待(./main.go:25:8: 语法错误:意外的 {,需要逗号或 )
1 回答
皈依舞
TA贡献1851条经验 获得超3个赞
类型不是
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)
}
如果您不知道输入配置,带有 panic 的解决方案可能不是最好的。
- 1 回答
- 0 关注
- 91 浏览
添加回答
举报
0/150
提交
取消