package main
import (
"net/http"
)
func main() {
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request){
w.Write([]byte("hello world"))
})
http.ListenAndServe(":8000", nil)
}
如果删除了*
在http.Request
:为什么必须将http.Request参数作为指针?
github.com/creating_web_app_go/main.go:8:不能使用FUNC字面(类型FUNC(http.ResponseWriter,http.Request))作为类型func(http.ResponseWriter,* http.Request)参数http.HandleFunc
我对Go和指针都很陌生。
所以问题是, 为什么必须http.Request
是一个指针,而不是一个func literal
?任何人都可以用最简单的方式解释这个,也许可以参考源代码?
为什么-1?这真的是一个很好的问题吗? –
其实这是一个非常好的问题imo – Yar