程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了在 Go HTTP 处理程序中,为什么 ResponseWriter 是一个值而 Request 是一个指针?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决在 Go http 处理程序中,为什么 ResponseWriter 是一个值而 request 是一个指针??

开发过程中遇到在 Go http 处理程序中,为什么 ResponseWriter 是一个值而 request 是一个指针?的问题如何解决?下面主要结合日常开发的经验,给出你关于在 Go http 处理程序中,为什么 ResponseWriter 是一个值而 request 是一个指针?的解决方法建议,希望对你解决在 Go http 处理程序中,为什么 ResponseWriter 是一个值而 request 是一个指针?有所启发或帮助;

你得到的w是一个指向非导出类型的指针,http.response但作为ResponseWriter一个接口,它是不可见的。

从server.go:

type ResponseWriter interface {
    ...
}

另一方面,r是指向具体结构的指针,因此需要显式传递引用。

request.go:

type request struct {
    ...
}

解决方法

我正在通过为 GAE 编写应用程序来学习 Go,这是处理程序函数的签名:

func handle(w http.ResponseWriter,r *http.request) {}

我是这里的指针新手,为什么request对象是指针,但ResponseWriter不是?是否需要以这种方式使用它,或者这只是为了使某种基于高级指针的代码成为可能?

大佬总结

以上是大佬教程为你收集整理的在 Go HTTP 处理程序中,为什么 ResponseWriter 是一个值而 Request 是一个指针?全部内容,希望文章能够帮你解决在 Go HTTP 处理程序中,为什么 ResponseWriter 是一个值而 Request 是一个指针?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。