Go语言也称 Golang,兼具效率、性能、安全、健壮等特性。
Go语言从底层原生支持并发,无须第三方库、开发者的编程技巧和开发经验就可以轻松搞定。本文重点给大家介绍go 方法值和方法表达式的知识。
手册上关于这块的解释感觉不是很详细清晰,经过几个示例自己总结了下这块的用法。
方法表达式:说简单点,其实就是方法对象赋值给变量。
这里有两种使用方式:
1)方法值:隐式调用, struct实例获取方法对象
2) 方法表达式:显示调用, struct类型获取方法对象, 需要传递struct实例对象作为参数。
举个例子:
输出:
指针型函数:0xc00007c060, &{1 乔帮主}
.............................
指针型函数:0xc00007c060, &{1 乔帮主}
值类型函数: 0xc00007c0e0, {1 乔帮主}
.............................
指针型函数:0xc00007c060, &{1 乔帮主}
值类型函数: 0xc00007c140, {1 乔帮主}
.............................
刚才说的方法值得方式是拷贝,有啥区别,接下来我们看看:
输出:
值类型函数: 0xc0000044c0, {2 鸠摩智}
值类型函数: 0xc000004520, {1 乔帮主}
如果要全部更新,换成 mValue := u.SkillPointer 指针型函数即可。
无论从事什么行业,只要做好两件事就够了,一个是你的专业、一个是你的人品,专业决定了你的存在,人品决定了你的人脉,剩下的就是坚持,用善良專業和真诚赢取更多的信任。
总结