什么是純函數

純函數

一個函數的返回結果只依賴于它的參數,且執行中無副作用
怎么理解呢?我們舉兩個例子就很好理解拉??

  • 結果只依賴參數:
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;
}//非純函數

純函數很嚴格,也就是說你幾乎除了計算數據以外什么都不能干,計算的時候還不能依賴除了函數參數以外的數據。

那么純函數有什么用呢?

為了每次操作都返回一個全新的數據(獨立,純凈),然后使得熱重載和時間旅行這些功能能夠使用

您的關注和點贊是對作者??????最大的支持??
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。