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语言教程

更多相关文章

  1. golang如何调用函数?
  2. Go语言实现之基于websocket浏览器通知功能
  3. 详解 Go 语言中的方法
  4. 关于用Go语言编程的利与弊
  5. 详解Go 语言中的方法
  6. Go语言中如何使用模板引擎
  7. go语言grpc环境搭建的方法详解
  8. 关于Go语言的http/2服务器功能及客户端使用方法
  9. 详解Golang中函数作为值与类型

随机推荐

  1. Shell编程笔试题
  2. MEMCACHED缓存及状态查看
  3. CentOS7.2 通过nfs设置共享文件夹
  4. wget在linux中安装出现错误解决办法
  5. linux下编译 出现 cc1: warnings being t
  6. 如何安装linux系统
  7. windows(win8)和linux(CentOS6)上的telne
  8. Linux中iptables基础命令
  9. linux权限不够,sh不能用
  10. Linux下objdump查看C程序编译后的汇编代