【问题标题】:What does this syntax mean? (Duration) -> String?这个语法是什么意思? (持续时间)-> 字符串?
【发布时间】:2021-12-01 10:17:58
【问题描述】:

我正在阅读一些不是我编写的代码,并且在一个类中遇到了这个实例变量。

private val t: (Duration) -> String?

稍后在代码中被调用

val str = t(<Insert Duration here>)

这种语法在 Kotlin 中是什么意思?不幸的是,很难解释变量名,所以我不知道这是在做什么。

【问题讨论】:

标签: function kotlin syntax


【解决方案1】:

(Duration) -> String? 是变量t 的类型。特别是在这里,它是function type

它的意思是“以Duration 作为参数并返回一个可为空的String 的函数”。

另一段代码显示变量t确实在之后被用作函数:

val str = t(Duration.seconds(3))

// which could also be written as
val str = t.invoke(Duration.seconds(3))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-05-01
    • 2011-12-06
    • 1970-01-01
    • 1970-01-01
    • 2012-07-25
    • 2011-11-13
    • 2014-03-31
    • 1970-01-01
    相关资源
    最近更新 更多