您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

值接收器与指针接收器

值接收器与指针接收器

请注意,FAQ确实提到了一致性

接下来是一致性。如果该类型的某些方法必须具有指针接收器,则其余方法也应该具有指针接收器,因此无论如何使用该类型,方法集都是一致的。有关详细信息,请参见有关方法集部分

本线程所述

关于指针与接收器的值的规则是,可以在指针和值上调用方法,但是只能在指针上调用指针方法

现在:

有人可以告诉我一个值接收器比指针接收器更有意义的情况吗?

代码评审意见可以帮助:

粗体部分例如在中找到net/http/server.go#Write()

// Write writes the headers described in h to w.
//
// This method has a value receiver, despite the somewhat large size
// of h, because it prevents an allocation. The escape analysis isn't
// smart enough to realize this function doesn't mutate h.
func (h extraHeader) Write(w *bufio.Writer) {
...
}
其他 2022/1/1 18:15:58 有467人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶