golang是面向对象吗?


本文摘自php中文网,作者coldplay.xixi,侵删。

golang不是面向对象的,go是面向过程的语言,也不是函数式编程范式,其表现在缺少箭头函数,需要显式声明lambda,而且不讲究纯函数和immutable。

golang不是面向对象的,go是面向过程的语言

没有class,一般oop特征明显的语言会定义出class关键字,而且很多会强制要求你把代码全部塞入class里面去,以实现万事万物都是对象,甚至包括main函数,都做成static放进去

也不是函数式编程范式,其表现在缺少箭头函数,需要显式声明lambda,而且不讲究纯函数和immutable

go的代码不讲究封装和整理,很多源码都是几千行代码呆在里面,表现出了典型的过程式语言的基本特征

多数脚本语言,c等都是过程式的,go的语言特性跟这些语言很相似,只是增加了gc,goroitine等常用工具而已,作者本身就对oop,fp等缺乏了解,只是根据c的经验,整理出了一些常用的工具,然后将其放到语言的runtime中去罢了

你说可以做出类似效果,那就犹如java你全部用static也能写得跟c类似一样,那并不是一个语言范式的基本特征

相关学习推荐:Go语言教程

以上就是golang是面向对象吗?的详细内容,更多文章请关注木庄网络博客!!

相关阅读 >>

golang互斥锁 sync.mutex

重温golang要点-常量、字符串、类型转换

golang如何调用函数?

golang单元测试怎么写

详解golang cpu的使用设置

聊聊nacos-coredns-plugin的servermanager

ketos 笔记 -- 记 go hackathon 2017

手撸golang go与微服务 saga模式之2

手把手教你实现golang跨平台编译

golang之不可重入函数实现

更多相关阅读请进入《golang》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...