关于golang中方法的receiver的区别是指针和不为指针

关于golang中方法的receiver的区别.png

    前言

    最近,网站上的一些学生询问了golang方法的接收者与指针方法之间的区别。在这里,我将以一种简单易懂的方式对其进行解释,以帮助刚学过Golang的学生。  

 

    方法是什么

    实际上,只要您了解此原理,就可以基本理解上述问题。

方法是什么?1.png

    举个例子

方法是什么?2.png

    是不是很简单就明白了呢?现在我们来加入代码,来看看指针和非指针有什么区别.

现在我们来加入代码,来看看指针和非指针有什么区别.png

    估计有的同学已经明白了,当不是指针时传入实参后值发生了复制.所以每调用一次TestValue()值就发生一次复制.

    那如果涉及到修改值的操作,结果会是怎样呢?

那如果涉及到修改值的操作,结果会是怎样呢?.png

    所以各位同学在编程遇到此类问题一定要注意了.

    那这些方法集之间到底是什么关系呢?这里借用了qyuhen在golang读书笔记的话,这里也推荐喜欢golang的朋友去阅读这本书,对加深理解golang有很大的帮助.

那这些方法集之间到底是什么关系呢?.png

    结论

    尽管golang简单易用,但仍然有很多陷阱。作者在使用golang的过程中遇到了很多陷阱,稍后将在博客中提出这些陷阱,欢迎大家一起讨论。

对我有帮助
42人认为有帮助

相关帮助