在Kotlin中实际关键字的用途是什么

在Kotlin中实际关键字的用途是什么,kotlin,Kotlin,我注意到一些协同程序的函数用actual关键字标记 发件人: 实际表示多平台形式的特定于平台的实现 计划 据我从actual中了解,关键字用于多平台项目,应该与expect关键字成对使用 大概是这样的: 通用模块: package org.jetbrains.foo expect class Foo(bar: String) { fun frob() } fun main(args: Array<String>) { Foo("Hello").frob() }

我注意到一些协同程序的函数用
actual
关键字标记

发件人:

实际表示多平台形式的特定于平台的实现 计划

据我从
actual
中了解,关键字用于多平台项目,应该与
expect
关键字成对使用

大概是这样的:

通用模块:

package org.jetbrains.foo

expect class Foo(bar: String) {
    fun frob()
}

fun main(args: Array<String>) {
    Foo("Hello").frob()
}
这种情况很明显

但是在包
kotlinx.coroutines.experimental
中,我注意到一些函数,如
launch
withContext
被标记为
actual
,但包中没有
expect
函数


那么,如果不使用
expect
,那么
actual
关键字的目的是什么呢?

kotlinx.coroutines库实际上使用了多平台项目,因为它同时支持JVM和JS编译目标


您可以找到您提到的函数的通用模块和特定的
expect
声明。

很好,因此这只适用于expect/actual对。非常感谢。我在这个链接中找到了有关多平台实现中使用的
expect
actual
的更多信息:我无法在第二个链接中找到
expect
声明。
actual
表示多平台项目中特定于平台的实现-
package org.jetbrains.foo

actual class Foo actual constructor(val bar: String) {
    actual fun frob() {
        println("Frobbing the $bar")
    }
}