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编程语言能开发啥

golang与mongodb

go-carbon 1.2.6 版本发布,优化错误处理机制,弃用出错直接panic的粗暴处理方式

golang交叉编译简述

go-zap

go语言基础之变量和常量

golang 如何处理死锁

手撸golang 基本数据结构与算法 图的最短路径  狄克斯特拉算法

golang协程如何关闭

向github开源项目提交代码(pr)的详细步骤:

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




打赏

取消

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

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

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

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

评论

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

    暂无评论...