我有以下代码片段:
u := *baseURL
u.User = nil
if q := strings.Index(path, "?"); q > 0 {
u.Path = path[:q]
u.RawQuery = path[q+1:]
} else {
u.Path = path
}
log.Printf(" url %v, u.String())
Run Code Online (Sandbox Code Playgroud)
我看到当 baseurl 设置为类似http://localhost:9000/buckets/test%?bucket_uuid=7864b0dcdf0a578bd0012c70aef58aca时,url 包似乎在 % 符号附近添加了一个额外的转义字符。例如,上述 print 语句的输出如下:
2015/03/25 12:02:49 url http://localhost:9000/pools/default/buckets/test%2525?bucket_uuid=7864b0dcdf0a578bd0012c70aef58aca
Run Code Online (Sandbox Code Playgroud)
这似乎仅在设置 URL 的 RawQuery 字段时才会发生。知道为什么会发生这种情况吗?我使用的是 go 版本 1.3.3
干杯,马尼克