函數式編程概念

一、概述

本文主要介紹函數式編程中相關概念,採用Scala作爲描述語言。

二、函數是第一等公民

意思是,把函數和其他類型等同對待,可以定義函數局部變量,可以將函數作爲參數,也可以返回函數。
在這裏插入圖片描述

三、副作用

無副作用函數接受輸入,產生輸出,不會改變調用對象,或者作爲參數傳入的對象的狀態。
在這裏插入圖片描述

四、閉包

即函數中定義的函數,由於它可以訪問外圍定義的變量,好像把外圍“包起來”,稱爲閉包。
在這裏插入圖片描述

五、低階函數,高階函數

低階函數:不接收函數作爲參數的函數
高階函數:接收函數作爲參數的函數
在這裏插入圖片描述

六、柯里化

定義“返回函數的函數”,目的是促進函數的複用。
在這裏插入圖片描述

七、可變性

函數式編程倡導使用"不可變"對象。
不可變對象從創建開始,狀態就不再改變,即它的所有方法都是沒有副作用的(不包括println這種副作用)。
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章