猿问

将结构映射到go中的函数

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: 语法错误:意外的 {,需要逗号或 )


慕尼黑8549860
浏览 92回答 1
1回答

皈依舞

类型不是func但是func()你需要照顾的url.Parse错误有重构代码:package mainimport (    "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 的解决方案可能不是最好的。
随时随地看视频慕课网APP

相关分类

Go
我要回答