gpt4 book ai didi

go - 查询参数 - 在 golang 中用空白替换 +

转载 作者:行者123 更新时间:2023-12-02 18:37:57 26 4
gpt4 key购买 nike

我正在使用golang

func (ph *testHandler) GetData() gin.HandlerFunc {
return func(ctx *gin.Context) {
params := ctx.Request.URL.Query()
search = strings.TrimSpace(params.Get("data"))
}
}

这里我在网址中传递“test+test”,但我得到“test test”

如何在golang中进行查询解析

最佳答案

如果你看一下源码

func (u *URL) Query() Values {
v, _ := ParseQuery(u.RawQuery)
return v
}

调用 ParseQuery,它在“encodeQueryComponent”模式下调用 unescape作为它所做的事情的一部分。

此代码片段是相关的

            case '+':
if mode == encodeQueryComponent {
t.WriteByte(' ')
} else {
t.WriteByte('+')
}

这只是RFC compliant parsing,这是正常的,行为你所看到的是预期的

参见https://cs.opensource.google/go/go/+/refs/tags/go1.16.6:src/net/url/url.go;drc=refs%2Ftags%2Fgo1.16.6;l=182

关于go - 查询参数 - 在 golang 中用空白替换 +,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68480455/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com