为啥 Kotlin 多平台项目的 commonMain 可以访问 kotlin.jvm 包?
Posted
技术标签:
【中文标题】为啥 Kotlin 多平台项目的 commonMain 可以访问 kotlin.jvm 包?【英文标题】:Why is kotlin.jvm package accessible in commonMain for Kotlin multi-platform project?为什么 Kotlin 多平台项目的 commonMain 可以访问 kotlin.jvm 包? 【发布时间】:2021-02-18 16:25:08 【问题描述】:我看到对于一个多平台的 Kotlin 项目,你可以访问 commonMain 中的Kotlin.jvm
包。
例如,我可以使用(没有任何编译错误)kotlin.jvm.Synchronized
commonMain 由所有平台共享,这是否意味着 ios 平台 kotlin.jvm.Synchronized
可以正常工作?如果是,那为什么在jvm包下?
【问题讨论】:
【参考方案1】:它在 iOS 上不会做任何事情,但它允许您在公共代码中添加该注释,而无需对期望/实际做一些复杂的事情。这显然在 Kotlin/JS(单线程)中毫无意义。
【讨论】:
以上是关于为啥 Kotlin 多平台项目的 commonMain 可以访问 kotlin.jvm 包?的主要内容,如果未能解决你的问题,请参考以下文章
Kodein + Ktor = 冻结 kotlin.collections.HashMap 的突变尝试 - 为啥?