• 技术文章 >后端开发 >Golang

    go语言支不支持方法重载

    青灯夜游青灯夜游2022-12-20 13:03:22原创1252

    go语言不支持方法重载。Go语言不支持重载是为了保持语言的简单。现在Go语言可以嵌入C语言代码直接编译,也可以编译为动态库或者静态库,供其它语言调用;没有重载,就少了很多混合编程的障碍。

    本教程操作环境:windows7系统、GO 1.18版本、Dell G3电脑。

    1.png

    上面是在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 语言不支持重载是为了保持语言的简单。现在 Go 语言可以嵌入 C 语言代码直接编译,也可以编译为动态库或者静态库,供其它语言调用。没有重载,就少了很多混合编程的障碍。

    【相关推荐:Go视频教程编程教学

    以上就是go语言支不支持方法重载的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:go语言 Golang
    上一篇:idea可以用go语言吗 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • go语言支持高并发的原因是什么• go语言怎么从切片中删除元素• go语言有哪些数据类型• go语言中有引用传递吗• idea可以用go语言吗
    1/1

    PHP中文网