func main() {
http.HandleFunc("/", handler)
}
func handler(w http.ResponseWriter, r http.Request) {
// I never declared, initialized or passed w and r. How does this function get access to them?
}
http.HandleFunc 知道其给定的输入参数,并且第二个参数将有自己的输入参数(w http.ResponseWriter,r http.Request)...因此 w 和 r 由 http.HandleFunc 设置,在它将 func 处理程序注册为然后,它调用传入 w 和 r 的回调...因此,负责调用不在回调定义本身内部的上下文
编写自己的这样一对函数是一项值得练习的练习,其中一个是传递到其他函数并由其他函数调用的回调...这种模式与 golang 正交,是跨语言的普遍工具
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)