go - 单值上下文中的多值 url.Parse() (net/url)

标签 go

我正在尝试用 Go 构建一个简单的路由器。

据我所知,url.Parse 返回一个错误和解析后的 url,尽管在作业中包含了这两个,但我仍然在这个问题的标题中收到错误

func (router *Router) Get(urlString string, callback func(Res, Req)) {
    parsedUrl, err := *url.Parse(urlString)

    router.Methods["GET"][parsedUrl] = callback
}

最佳答案

尝试删除 *url.Parse(urlString) 中的 *

func (router *Router) Get(urlString string, callback func(Res, Req)) {
    parsedUrl, err := url.Parse(urlString)

    router.Methods["GET"][parsedUrl] = callback
}

Playground

此外,由于 url.Parse() 函数返回一个错误,您的 Get() 函数应该对它做一些事情(最好返回它,否则记录它, panic 等)

关于go - 单值上下文中的多值 url.Parse() (net/url),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27872431/

相关文章:

go - 将在所有其他处理程序之前运行的中间件

multithreading - 多人围棋程序

go - 如何使用 Server.TLSNextProto 禁用 HTTP/2

go - 从 DynamoDB 获取最新的多个值

pointers - 将 *[]foo 类型的变量转换为 *[]bar

go - 适用于AWS Lambda的断路器

Go RoundTrip/传输代理地址

go - 与私有(private)接口(interface)比较

go - 原子交换映射指针导致程序卡死

docker - 从 ubuntu 18.04 升级到 18.10 后,docker 容器内没有互联网连接