【问题标题】:What's the meaning of plus sign before a Kotlin method?Kotlin 方法前的加号是什么意思?
【发布时间】:2020-02-22 13:58:45
【问题描述】:

我正在学习 Kotlin,正在观看 AndroidDevSummit,更具体地说,是 Leland Richardson 的演示文稿“Undestanding Compose”。

在演示期间(28 分 26 秒),他展示了以下代码:

@Composable
fun App(items: List<String>, query: String) {
    val results = +memo(items, query) {
        items.filter { it.matches(query) }
    }
    // ...
}

“备忘录”方法前的“+”加号是什么意思?

【问题讨论】:

  • 这样使用算子重载的时候,可以在Intellij/Android Studio中按住Ctrl键点击跳转到函数声明,看看它做了什么。
  • 好的,@Tenfour04,谢谢,但这只是一个功能,而不是“加号”的目的,对吗?
  • 对。我只是说你可以用它来找出运算符正在调用的函数。
  • 是的,您可以跳转到unaryPlus 的声明,但这并不意味着您可以理解它的目的。在那里你会发现只有评论“解决效果并返回结果。”

标签: android kotlin android-jetpack-compose


【解决方案1】:

+ 有点像运算符调用效果。功能 返回效果只返回效果的对象和+ 说,“将其添加到此处的组合中”

亚当鲍威尔Kotlin Slack

The full thread on kotlin slack

+ 运算符将在未来被移除,对于状态,可能会使用 Property Delegates,如下所示:var myState by state { "value" }

【讨论】:

  • 谢谢@DevSrSouza,但你能澄清一下它的作用以及什么是效果吗? Slack 的链接不可用。
  • 从我几天前听的一次演讲中,效果是可以在现实世界中改变的任何东西,就像你可以在应用程序的其他地方改变的值并影响你的 UI。尝试通过此链接加入:slack.kotlinlang.org
  • Slack 只对拥有 jetbrains.com 电子邮件地址的人开放。此答案本身不包含足够的信息。
猜你喜欢
  • 2020-03-19
  • 2011-11-30
  • 1970-01-01
  • 2021-06-19
  • 2017-03-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多