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 函數(shù)? ?
2函數(shù)? 直接 等于一個(gè)表達(dá)式 返回值是 表達(dá)式的值;
3.匿名函數(shù)? 一個(gè)變量? 等于一個(gè)閉包(lambda);
4.函數(shù) 直接等于一個(gè)閉包(lambda)直接返回 這個(gè) lambada 不會(huì) 執(zhí)行 lambda吊说;?
函數(shù) 1? 和 函數(shù) 3 完成化后的區(qū)別:
fun sum1(a : Int ,b:Int) : Int{
? return? a+b;
}
fun sum3(a : Int ,b:Int) : ()->Int {
? ? return? {
? ? ? //其他代碼省略
? ? ? a+b
};
}
結(jié)論 lambda 并不是表達(dá)式 是一個(gè)對(duì)象,函數(shù)是一個(gè)對(duì)象