当前位置: 首页 > 知识库问答 >
问题:

箭头(“->”)运算符在Kotlin中做什么?

壤驷志学
2023-03-14
  val greet = when(args[0]) {
    "Appul" -> "howdy!"
    "Orang" -> "wazzup?"
    "Banan" -> "bonjur!"
    else    -> "hi!"
  }

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

共有1个答案

东郭兴学
2023-03-14

->是Kotlin语法的一部分(类似于Java的lambda表达式语法),可以在3个上下文中使用:

>

  • when将“匹配/条件”部分与“结果/执行”块分开的表达式

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

    lambda表达式,它将参数与函数体分离

      val lambda = { a:String -> "hi!" }
      items.filter { element -> element == "search"  }
    

    将参数类型与结果类型分开的函数类型,例如comparator

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

    关于Kotlin语法的详细信息特别在文档中:

    • FunctionType
    • FunctionLiteral
    • WhenEntry

  •  类似资料:
    • 更新/答案:原来IntelliJ12支持Java 8,后者支持lambda,并且正在“折叠”谓词并将其显示为lambda。下面是“未折叠”代码。

    • 问题内容: 在浏览一些代码时,我遇到了箭头运算符,它究竟是做什么的?我以为Java没有箭头运算符。 详细信息:Java 6,Apache Commons Collection,IntelliJ 12 更新/答案:事实证明IntelliJ 12支持Java 8,后者支持lambda,并且正在“折叠”谓词并将其显示为lambda。下面是“展开”代码。 问题答案: 这是将在Java 8中引入的新lamb

    • 问题内容: 在阅读Android通知指南时,我偶然发现了这一点: 增加振动 您可以使用默认振动模式或应用程序定义的振动模式来警告用户。 要使用默认模式,请将“ DEFAULT_VIBRATE”添加到默认字段: 这样做很清楚:它将标志添加到通知对象的默认标志。但是,运算符在Java中做什么?它看起来像一个“ OR”,但是它如何工作? 您可以举一个使用数字的例子吗? 谢谢 问题答案: 是按位或分配运算

    • 问题内容: 我在这里碰到了这个,总是这样使用: 什么是运营商做的,为什么不使用普通的或? 抱歉,如果以前没有回答,搜索引擎将不喜欢标点符号。 问题答案: http://docs.python.org/reference/expressions.html#notin说: [操作员]和是等效的;为了与C保持一致,是首选。[…]拼写被认为是过时的。

    • 问题内容: (插入符)运算符在Java中提供什么功能? 当我尝试这个: …它给我: …所以我猜它不执行幂运算。但是那是什么呢? 问题答案: Java中的运算子 在Java中,“异或”运算符。 让我们举个例子: 这是按位(JLS 15.22.1)和逻辑(JLS 15.22.2)xor的真值表: 更简单地,你也可以将xor视为“ this or that,但不是两者都!”。 Exponentiatio

    • 我有一个具有以下代码的文件: 它在另一个。js文件中也是这样使用的: 有人能解释第一行中的=>系列发生了什么吗?我理解normal(req,res,next)=>{}的意思如下: