golang 中类前面*表示什么

func (mux  ServeMux) HandleFunc(pattern string, handler func(ResponseWriter,  *Request)) {  
   if handler == nil {  
      panic("http: nil handler")  
   }  
   mux.Handle(pattern, HandlerFunc(handler))  
}

为什么有的类前面有* ,有的没有,比如上面,ResponseWriter, *Requestrequest为什么有*ResponseWriter不需要*,我猜是和内存指针有关,但不太清晰,可以帮忙讲一下吗谢谢

阅读 3.1k
3 个回答

首先,golang 里面没有类的概念
然后,你这里指的 * 确实是指针
最后,至于为什么有的有,有的没:因为你需要传指针就传指针,不需要就直接传值就行了

就是指针,*Request是Request结构的指针类型。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题