为了账号安全,请及时绑定邮箱和手机立即绑定

将结构映射到go中的函数

将结构映射到go中的函数

Go
慕尼黑8549860 2023-06-01 14:29:30
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个赞

  1. 类型不是func但是func()

  2. 你需要照顾的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 的解决方案可能不是最好的。


查看完整回答
反对 回复 2023-06-01
  • 1 回答
  • 0 关注
  • 91 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信