使用Go(golang),如何解析/ id/123格式的URL不是?foo = bar

Dat*_*sik 7 go

我正在尝试解析以下URL:

http://example.com/id/123

我已经阅读了net/url文档,但它似乎只解析字符串

http://example.com/blah?id=123

如何解析ID,以便在第一个示例中得到id的值?谢谢.

我应该更精确,

这不是我自己的路由之一,而是从openid请求返回的http字符串

gol*_*her 10

在您的示例中,id/123是一个路径,您可以通过路径模块中的Base使用"123"部分.

package main

import (
    "fmt"
    "path"
)

func main() {
    fmt.Println(path.Base("/id/123"))
}
Run Code Online (Sandbox Code Playgroud)

为便于参考,这里是路径模块上的文档. http://golang.org/pkg/path/#example_Base


小智 5

您可以尝试使用正则表达式,如下所示:

import "regexp"

re, _ := regexp.Compile("/id/(.*)")
values := re.FindStringSubmatch(path)
if len(values) > 0 {
    fmt.Println("ID : ", values[1])
}
Run Code Online (Sandbox Code Playgroud)