登录
首页 >  Golang >  Go问答

当百分号字符出现在字符串中时,fmt的表现似乎不太正常,但是...

来源:stackoverflow

时间:2024-02-11 10:57:22 283浏览 收藏

对于一个Golang开发者来说,牢固扎实的基础是十分重要的,golang学习网就来带大家一点点的掌握基础知识点。今天本篇文章带大家了解《当百分号字符出现在字符串中时,fmt的表现似乎不太正常,但是...》,主要介绍了,希望对大家的知识积累有所帮助,快点收藏起来吧,否则需要时就找不到了!

问题内容

非常奇怪的事情我不知道如何解释。我在 play.golang.org 中运行了以下内容:(在看到另一个 q/a 线程之后)

package main
import (
    "fmt"
)
func main() {
    str := "uid $lke '%1234%'"
    sp := fmt.sprintf("20: %s\n", str)
    fmt.println(sp)
}

它打印正确(如预期)。

20: uid $lke '%1234%'

当我在 http 处理程序函数中包含完全相同的代码时,它会打印:

20: Uid $LKE '%'

go 中是否有任何环境(或其他东西)是我可能愚蠢地做的,以短路达到预期?我在 ubuntu 中使用 golang 1.15。


正确答案


根据您的评论,您想要检查 http 请求以进行调试。使用 httputil.dumprequest 会为您提供更好的服务。它会转储整个请求供您查看,包括您在使用 fmt.sprintf 时遇到问题的部分。

func handler(w http.ResponseWriter, r *http.Request) {

    // Setting the second paramater to true will dump the body as well
    dump, _ := httputil.DumpRequest(r, true)
    fmt.Println(string(dump))

}

今天带大家了解了的相关知识,希望对你有所帮助;关于Golang的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>