Scala高阶函数参数如何设置默认值为直接返回原参数?
为高阶函数参数设置默认的恒等行为
你可以使用Scala内置的恒等函数identity[DataFrame]作为postCalc参数的默认值,它的作用就是直接返回传入的参数本身,不做任何额外计算。修改后的函数定义如下:
def calculateFusionRiskContract(postCalc: DataFrame => DataFrame = identity[DataFrame])
如果你更倾向于显式的匿名函数写法,也可以直接写成:
def calculateFusionRiskContract(postCalc: DataFrame => DataFrame = df => df)
这两种写法的效果完全一致,当调用calculateFusionRiskContract时不传入postCalc参数时,就会默认使用这个不做任何处理的函数逻辑。
内容的提问来源于stack exchange,提问作者Alexander Lopatin
相关产品推荐
相关产品推荐

