什么是纯函数

纯函数

一个函数的返回结果只依赖于它的参数,且执行中无副作用
怎么理解呢?我们举两个例子就很好理解拉🤓

  • 结果只依赖参数:
int a = 1;
private int method(int b){
  return a+b;
}//非纯函数,函数返回结果还依赖与函数外的int a
  • 执行中无副作用
static outside = 2
private int method(int a,int b ){
  print a+b; //副作用对外输出
  outside += a; //副作用修改了静态变量的值
  return a+b;
}//非纯函数

纯函数很严格,也就是说你几乎除了计算数据以外什么都不能干,计算的时候还不能依赖除了函数参数以外的数据。

那么纯函数有什么用呢?

为了每次操作都返回一个全新的数据(独立,纯净),然后使得热重载和时间旅行这些功能能够使用

您的关注和点赞是对作者👨‍💻‍最大的支持👍
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。