英文:
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.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论