Lambda表达式
>> Lambda表达式和高阶方法Lambda表达式是一种匿名方法的表示方式。Lambda表达式一般使用箭头来表示一个运算操作,该操作分为3个部分:箭头,箭头左边,箭头右边。其中,箭头用于表示一个映射,箭头左边是映射的输入参数列表,箭头的右边为映射的输出。例如,{x: Int, y: Int -> x+y},该运算有两个输入整型参数x和y,而运算的结果(输出)为x+y。此外,Lambda表达式在声明时需要使用花括号,即{}。Lambda可被用于赋值给一个常量(或者变量),例如,val add={x: Float, y: Float -> x+y};这样, add实际上可被看作是一个方法,该方法有两个输入参数x和y,输出x+y,使用时为add(0.1f, 0.2f)。与Lambda表达式类似,方法类型也可使用箭头操作来表示,同样包含3个部分:箭头,箭头左边,箭头右边。箭头用于表示一个映射,箭头左边是映射的输入参数类型列表,箭头的右边为映射的输出类型。例如,(Int, Float) -> Float,该表达式表示方法的两个输入参数为Int和Float,输出参数类型为Float。程序中,方法类型不使用花括号。另外,方法类型可看成是一种数据类型,并用于声明常量或变量。例如,val calc: (Int, Float) -> Float ={x: Int, y: Float -> x*y},在这样的示例中,calc实质上是一个类型为(Int, Float) -> Float的运算,而具体的实现则被定义为{x: Int, y: Float -> x*y}。在Kotlin中,所谓高阶方法是指方法中的参数是方法,或者方法的返回值是方法。
网友评论