This question already has an answer here:
I am new to go and still trying to figure out a few things.
func handler(w http.ResponseWriter, r *http.Request) {
}
Why is w
not a pointer and on the other hand r
is, since the handler function will end up writing into w
and only read from r
?
</div>
This question has already been answered in this post, but to keep it short.
w http.ResponseWriter
is actually an interface that's backed by a non-exported pointer.
Whereas r *http.Request
is an actual exposed struct.
I'd recommend following the above link to learn more why this is.