Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Url 在传递查询字符串时获取该字符串_Url_Go - Fatal编程技术网

Url 在传递查询字符串时获取该字符串

Url 在传递查询字符串时获取该字符串,url,go,Url,Go,我是新来的Go。我的问题是如何在标准输出上获取URL编码的字符串 下面是我用来访问api的URL字符串 schooltubeapi/v1/channeldetails?channelName=long%20division%20 下面是我用来获取RawQuery的代码 url1 := ChannelName u, _ := url.Parse(url1) log.Println(u) u.RawQuery = u.Query().Encode() log.Println(u) [输出] 长除法

我是新来的
Go
。我的问题是如何在标准输出上获取URL编码的字符串

下面是我用来访问api的URL字符串

schooltubeapi/v1/channeldetails?channelName=long%20division%20

下面是我用来获取RawQuery的代码

url1 := ChannelName
u, _ := url.Parse(url1)
log.Println(u)
u.RawQuery = u.Query().Encode()
log.Println(u)
[输出]

长除法

[预期]

long%20division%20


我已经搜索了很多,但找不到类似的解决方案。

对于url编码的字符串,请使用
url
struct of
url
package获取URI中传递的RawQuery:

package main

import (
    "fmt"
    "net/url"
)

func main() {
    stringValue := "long division "
    t := &url.URL{Path: stringValue}
    encodedString := t.String()
    fmt.Println(encodedString)
}

在Golang的URL规范中。据说:-

路径字段以解码形式存储:/%47%6f%2f变为 /Go/。其结果是,不可能区分中的哪些斜杠 路径是原始URL中的斜杠,为%2f。这 区别很少很重要,但当它重要时,代码不能使用 直接的路径。Parse函数在 它返回的URL,如果URL的String方法是有效的,则使用RawPath 通过调用EscapedPath方法对路径进行编码

有关更多信息,请查看
URL

RawQuery from。请记住:始终先阅读Go文档,然后阅读所有文档。
type URL struct {
        Scheme     string
        Opaque     string    // encoded opaque data
        User       *Userinfo // username and password information
        Host       string    // host or host:port
        Path       string    // path (relative paths may omit leading slash)
        RawPath    string    // encoded path hint (see EscapedPath method)
        ForceQuery bool      // append a query ('?') even if RawQuery is empty
        RawQuery   string    // encoded query values, without '?'
        Fragment   string    // fragment for references, without '#'
}