【发布时间】:2018-02-14 19:35:05
【问题描述】:
我注意到协程的一些函数标有actual 关键字。
actual 表示多平台中特定于平台的实现 项目
据我了解,documentation actual 关键字用于多平台项目,应与 expect 关键字配对使用。
类似这样的:
通用模块:
package org.jetbrains.foo
expect class Foo(bar: String) {
fun frob()
}
fun main(args: Array<String>) {
Foo("Hello").frob()
}
对应模块:
package org.jetbrains.foo
actual class Foo actual constructor(val bar: String) {
actual fun frob() {
println("Frobbing the $bar")
}
}
这个案子很清楚。
但是在kotlinx.coroutines.experimental 包中,我注意到launch 或withContext 等一些函数被标记为actual,但包中没有expect 函数。
那么actual关键字没有expect的目的是什么?
【问题讨论】:
-
actual表示多平台项目中特定于平台的实现 - kotlinlang.org/docs/reference/…
标签: kotlin