golang指针与非指针接收器(golang继承指针和非指针区别)

什么是golang指针和非指针接收器

在golang中,指针是一个经常被提到的概念。指针是指向内存中存储值的地址。在golang中,指针可以用来避免传递大对象的引用,对内存的利用有很大的优化。而接收器指的是函数所属的结构体类型,是一个特殊的函数参数。golang中,接收器可以分为指针接收器和非指针接收器两种。

指针接收器和非指针接收器有何区别

指针接收器和非指针接收器的区别在于它们所接收的参数的类型。指针接收器用于修改调用方法的结构体,而非指针接收器只是用来访问结构体中的字段。 具体来说,使用指针作为接收器,可以修改接收器指向的值。而非指针接收器则不能修改接收器指向的值,只能访问它的属性。 因此一般情况下,如果我们想要修改一个结构体的属性值,就需要使用指针接收器。

指针接收器和非指针接收器应该如何选择

那么在实际编码中,我们应该如何进行选择呢?一般来说,我们遵循以下几个原则:

1. 如果需要修改方法中接收到的结构体数据,就应该使用指针接收器;如果只是访问结构体的属性,就可以使用非指针接收器。

2. 如果结构体中有大量的属性,使用非指针接收器会在内存中复制大量的数据,影响效率。这个时候就应该考虑使用指针接收器。

3. 如果是代表一个实体的结构体,只能用指针接收器;如果是一个辅助性的结构体,则可以用非指针接收器。

总之,在实际编程过程中,我们应该根据具体情况选择不同的接收器类型。一般来说,我们应该尽量使用非指针接收器,除非有必要使用指针接收器。

本文来自投稿,不代表亲测学习网立场,如若转载,请注明出处:https://www.qince.net/golang-2h44.html

郑重声明:

本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。 若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。

我们不承担任何技术及版权问题,且不对任何资源负法律责任。

如遇到资源无法下载,请点击这里失效报错。失效报错提交后记得查看你的留言信息,24小时之内反馈信息。

如有侵犯您的版权,请给我们私信,我们会尽快处理,并诚恳的向你道歉!

(0)
上一篇 2023年5月2日 上午2:15
下一篇 2023年5月2日 上午2:15

猜你喜欢