Skip to content

20201231通过golang对函数签名进行更为深化的理解

ziyouzy edited this page Jan 1, 2021 · 1 revision

之前的文章已经通过java和c++基本上了解了函数签名的特性

这里在宏观逻辑上去理解下函数签名到底是什么:

https://www.cnblogs.com/l1ng14/p/14164419.html

文章最后的这句解释:

“必须函数签名相同(函数名,参数和返回值(类型,个数,顺序)都相同),否则会转换失败,无法实现该接口。”

也就是说,对于程序员来说,无论哪种语言当和别人探讨或者别人拿“函数签名”这个名词说事的时候,直接理解成定义的那句话各个元素进行拼接后所形成的那个“字符串”即可

如:

func Sum(i int,j int)(int,error)
脑海里的函数签名应该联想到是"SumI&I_I&ERR"这样拼接后的尽量可以接近唯一,从而方便编译时的自动区分的东西

而针对golang的方法也遵循这个事,因为golang设计成了任何方法都属于函数,函数的特性方法都会有

Clone this wiki locally