我注意到协同程序的某些函数标有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
个功能。 / p>
那么actual
关键字没有 expect
的目的是什么?