这篇“go语言支持方法重载吗”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“go语言支持方法重载吗”文章吧。
go语言不支持方法重载。Go语言不支持重载是为了保持语言的简单。现在Go语言可以嵌入C语言代码直接编译,也可以编译为动态库或者静态库,供其它语言调用;没有重载,就少了很多混合编程的障碍。
上面是在Go语言官方文档中的FAQ截图。看来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是什么
golang是一种编译语言,可以将代码编译为机器代码,编译后的二进制文件可以直接部署到目标机器而无需额外的依赖,所以golang的性能优于其他的解释性语言,且可以在golang中使用goroutine来实现并发性,它提供了一个非常优雅的goroutine调度程序系统,可以很容易地生成数百万个goroutine。
以上就是关于“go语言支持方法重载吗”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网行业资讯频道。