2017-03-07 25 views
14

おそらく少し質問がありますが、公式文書では、矢印演算子(または言語構成、私はどの語句がより正確かわかりません)を独立したエンティティとして言及していません。矢印( " - >")演算子はKotlinで何をしますか?

最も明白な使用は、特定の条件に式を割り当てるために使用されるときの条件文、次のとおりです。

val greet = when(args[0]) { 
    "Appul" -> "howdy!" 
    "Orang" -> "wazzup?" 
    "Banan" -> "bonjur!" 
    else -> "hi!" 
    } 

    println(args[0] +" greets you: \""+ greet +"\"") 

他にどのような用途であり、彼らは何をしていますか? Kotlinの矢印演算子の一般的な意味はありますか?

答えて

16

->は(Javaのlambda expressions syntaxに類似)Kotlinの構文の一部であり、3つのコンテキストで使用することができる:それは「結果/実行」ブロックからの「マッチング/状態」部分を分離

  • when式それは関数本体からパラメータを分離

    val greet = when(args[0]) { 
        "Apple", "Orange" -> "fruit" 
        is Number -> "How many?" 
        else -> "hi!" 
    } 
    
  • ラムダ式

    val lambda = { a:String -> "hi!" } 
        items.filter { element -> element == "search" } 
    
  • 結果タイプからパラメータタイプを区切る関数タイプ。 Kotlinの文法についてcomparator

    fun <T> sort(comparator:(T,T) -> Int){ 
        } 
    

詳細は、特にin the documentationです:おそらく

+4

[関数型](https://kotlinlang.org/docs/reference/lambdas.html#function-types)の例を参照すると、リファレンスへのリンクがこの回答を改善するかもしれません。 – hotkey

+2

そして今は3つの文脈があり、2だけではありません。 – mfulton26

+0

助けと詳細な答え、みんなありがとう。私は他の2つを掘り下げます。 –

関連する問題