任何被type 修饰过的类型都可以作为接收者吗?

来源:7-2 函数式编程例一

慕运维2188099

2021-08-23

老师 ,听7-2函数式编程的例子的时候发现函数可以作为方法的接收者。那是不是所有被type修饰过的类型都可以作为方法的接收者呢?
如果拿基本类型作为函数的接收者会出现什么弊端呢?

写回答

1回答

ccmouse

2021-08-26

“任何”比较绝对了,但是的确也没有想到不能做接收者的。

我们还是看弊端。这样的做法首先是常见的。函数类型作为接收者并不常见,但是string, int等用type定义过之后,作为接收者是比较普遍的做法。比如我在后面的错误处理章节就有:

type userError string

这样的好处是代码简洁。弊端是以后如果扩展了,我们会把这个string或者int类型改为struct,可能改动稍大。

0
0

Google资深工程师深度讲解Go语言 由浅入深掌握Go语言

语法+分布式爬虫实战 为转型工程师量身打造

5995 学习 · 1909 问题

查看课程