函数

1.fun  sum(a : Int ,b:Int) : Int{

return  a+b;

}

2.fun  sum1(a : Int ,b:Int) =  a + b;

3.var  sum2 ={ a : Int , b : Int-> a+b}

4.fun  sum3(a : Int ,b:Int) ={ a + b}

1 函数   

2函数  直接 等于一个表达式 返回值是 表达式的值;

3.匿名函数  一个变量  等于一个闭包(lambda);

4.函数 直接等于一个闭包(lambda)直接返回 这个 lambada 不会 执行 lambda; 

函数 1  和 函数 3 完成化后的区别:

fun sum1(a : Int ,b:Int) : Int{

  return  a+b;

}

fun sum3(a : Int ,b:Int) : ()->Int {

    return  {

      //其他代码省略

      a+b

};

}

结论 lambda 并不是表达式 是一个对象,函数是一个对象

你可能感兴趣的:(函数)