golang是面向对象吗?

golang是面向对象吗?,第1张

golang是面向对象吗?

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是面向对象吗?的详细内容,

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/684943.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-20
下一篇 2022-04-20

发表评论

登录后才能评论

评论列表(0条)

保存