英文:
can I obtain a io.Writer from a http.ResponseWriter?
问题
我想使用json.Encoder将数据写入http.ResponseWriter。
我想知道,我从哪里获取http.ResponseWriter的io.Writer?
(io.Writer是json.NewEncoder的参数之一)
有什么想法吗?
英文:
I would like to use json.Encoder to write to a http.ResponseWriter.
I wonder, where do I get http.ResponseWriter's own io.Writer ?
(io.Writer is required as parameter for json.NewEncoder)
any ideas?
答案1
得分: 8
http.ResponseWriter 实现了 Write([]byte) (int, error)。因此,你可以在任何需要 io.Writer 的地方使用它。
func handler(w http.ResponseWriter, r *http.Request) {
encoder := json.NewEncoder(w)
}
这里 可以找到关于Go如何使用接口来指定对象行为的一些背景信息。
英文:
http.ResponseWriter implements Write([]byte) (int, error). Therefore you can use it everywhere where a io.Writer is required.
func handler(w http.ResponseWriter, r *http.Request) {
encoder := json.NewEncoder(w)
}
Here you can find some background information on how Go uses interfaces as a way to specify the behavior of an object.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。


评论