登录
首页 >  Golang >  Go问答

“应该使用只有一个参数的 print 样式函数来替代具有动态格式字符串和其他参数的 printf 样式函数”

来源:stackoverflow

时间:2024-02-13 22:27:25 312浏览 收藏

今天golang学习网给大家带来了《“应该使用只有一个参数的 print 样式函数来替代具有动态格式字符串和其他参数的 printf 样式函数”》,其中涉及到的知识点包括等等,无论你是小白还是老手,都适合看一看哦~有好的建议也欢迎大家在评论留言,若是看完有所收获,也希望大家能多多点赞支持呀!一起加油学习~

问题内容

具有动态格式字符串且没有其他参数的 printf 样式函数应使用 print 样式函数

我的 vscode 不断突出显示我的 fmt.fprintf(w, prettyjson.string()) 语句,并带有上述警告。不确定这意味着什么,或者如何解决。以下是我如何使用 fprintf() 的示例:

func (s *Server) getWorkSpaces(w http.ResponseWriter, r *http.Request) {
    client := &http.Client{}
    var prettyJSON bytes.Buffer
    req, err := http.NewRequest("GET", "url.com", nil)
    if err != nil {
        // if there was an error parsing the request, return an error to user and quit function
        responses.ERROR(w, http.StatusBadRequest, fmt.Errorf("unable to read request body: %v", err))
        return
    }


    resp, err := client.Do(req)
    if err != nil {
        // if there was an error parsing the request, return an error to user and quit function
        responses.ERROR(w, http.StatusBadRequest, fmt.Errorf("unable to read request body: %v", err))
        return
    }

    body, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        log.Fatalln(err)
    }
    error := json.Indent(&prettyJSON, body, "", "\t")
    if error != nil {
        log.Println("JSON parse error: ", error)
        return
    }

    fmt.Fprintf(w, prettyJSON.String())
}

如何停止此错误?有人可以向我解释为什么我的 vscode 将其显示在屏幕上吗?请注意,我的代码运行良好。


正确答案


fmt.Fprintf() 需要一个格式字符串,其中可能包含将被参数替换的动词。如果您不传递参数,则暗示您可能没有/使用格式字符串,因此您不应该首先使用 fmt.fprintf()

要将参数写入 io.writer,请使用 fmt.Fprint()

fmt.fprint(w, prettyjson.string())

这个警告是从兽医那里得到的,因为格式字符串可能不会按原样输出:

fmt.print("%%\n")
fmt.printf("%%\n")

上面的打印结果(在 Go Playground 上试试):

%%
%

% 是格式字符串中的特殊字符,要发出(输出)单个 % 符号,您必须在格式字符串中使用双 %。这只是为了证明这一点,还有其他差异。

查看相关问题:

No placeholders in format string

Format a Go string without printing?

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

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