Lambda表達(dá)式
>> Lambda表達(dá)式和高階方法Lambda表達(dá)式是一種匿名方法的表示方式谆沃。Lambda表達(dá)式一般使用箭頭來表示一個(gè)運(yùn)算操作,該操作分為3個(gè)部分:箭頭仪芒,箭頭左邊唁影,箭頭右邊。其中掂名,箭頭用于表示一個(gè)映射据沈,箭頭左邊是映射的輸入?yún)?shù)列表,箭頭的右邊為映射的輸出饺蔑。例如锌介,{x: Int, y: Int -> x+y},該運(yùn)算有兩個(gè)輸入整型參數(shù)x和y猾警,而運(yùn)算的結(jié)果(輸出)為x+y孔祸。此外,Lambda表達(dá)式在聲明時(shí)需要使用花括號(hào)肿嘲,即{}融击。Lambda可被用于賦值給一個(gè)常量(或者變量),例如雳窟,val add={x: Float, y: Float -> x+y}尊浪;這樣, add實(shí)際上可被看作是一個(gè)方法封救,該方法有兩個(gè)輸入?yún)?shù)x和y拇涤,輸出x+y,使用時(shí)為add(0.1f, 0.2f)誉结。與Lambda表達(dá)式類似鹅士,方法類型也可使用箭頭操作來表示,同樣包含3個(gè)部分:箭頭惩坑,箭頭左邊掉盅,箭頭右邊也拜。箭頭用于表示一個(gè)映射,箭頭左邊是映射的輸入?yún)?shù)類型列表趾痘,箭頭的右邊為映射的輸出類型慢哈。例如,(Int, Float) -> Float永票,該表達(dá)式表示方法的兩個(gè)輸入?yún)?shù)為Int和Float卵贱,輸出參數(shù)類型為Float。程序中侣集,方法類型不使用花括號(hào)键俱。另外,方法類型可看成是一種數(shù)據(jù)類型世分,并用于聲明常量或變量编振。例如,val calc: (Int, Float) -> Float ={x: Int, y: Float -> x*y}罚攀,在這樣的示例中党觅,calc實(shí)質(zhì)上是一個(gè)類型為(Int, Float) -> Float的運(yùn)算,而具體的實(shí)現(xiàn)則被定義為{x: Int, y: Float -> x*y}斋泄。在Kotlin中杯瞻,所謂高階方法是指方法中的參數(shù)是方法,或者方法的返回值是方法炫掐。