本文给大家带来关于go语言的详细解析,聊聊在GO语言中能否支持方法重载,答案是否定的。首先,GO语言不能支持重载是为了保持语言的简单,现在Go语言可以嵌入C语言代码直接编译,也可以编译为动态库或者静态库,供其它语言调用;没有重载,就少了很多混合编程的障碍。
本文适用于windows7系统、GO 1.18版本、Dell G3电脑。
GO语言能否支持方法重载之解析
Go语言不支持方法重载。关于为什么不支持重载这个问题,曾困扰了很多开发者,有很多人向Go语言官方提出了疑问,官方问答中有这样一句话:Experience with other languages told us that having a variety of methods with the same name but different signatures was occasionally useful but that it could also be confusing and fragile in practice。
这段文字的大意是:其他语言的经验告诉我们,有各种同名但签名不同的方法有时是有用的,但在实践中也可能令人困惑和脆弱。另外,Go官方还说:在Go的类型系统中,仅通过名称匹配并要求类型的一致性是一个主要的简化决策。官方博客中又提到,关于运算符重载,似乎也是更方便。但是同样的,没有重载事情会更简单。
通过简短的几句话,我们大概可以看出来。Go语言的设计者之所以没有在Go中实现重载,其实并没有多么高深的理由,就是最核心的一个原则:让Go保持足够的简单。别小看这个简单的描述,在我看来,坚持让Go足够简单,需要Go的设计者保持极大的克制。
Go 语言不支持重载是为了保持语言的简单。现在 Go 语言可以嵌入 C 语言代码直接编译,也可以编译为动态库或者静态库,供其它语言调用。没有重载,就少了很多混合编程的障碍。以上就是GO语言能否支持方法重载的详细解析,翼速应用平台内有更多相关资讯,欢迎查阅!
我来说两句