我试图为Kotlin多平台项目配置一个模板,在后端运行ktor,在前端配置react,使用jetbrains团队的Kotlin类型安全包装器。要在前端和后端之间共享代码,我需要使用gradle
build.gradle.kts
val kotlin_version: String by project
val ktor_version: String by project
val logback_version: String by project
val annotations_version: String by project
val kotlin_react_version: S
我正在尝试理解编译后的kotlin是否是java字节码文件。在这个例子中,我展示了kt文件和类文件,以及java中存在的一些我不知道的关键字。例如,open val。
编译后的kt文件是由字节码形成的吗?编译后的kt文件是由JVM直接执行的吗?
Greeting.kt
package org.jetbrains.kotlin.demo
data class Greeting(val id: Long, val content: String)
GrettingController.kt
@RestController
class GreetingController {
val c
我有一个包含以下模块的项目:
常见
普通js
公共jvm
后端
网站
我的想法是把我的共享( kotlin )代码(主要是模型)放在一起,它既可以使用kotlin驱动的后端,也可以使用最近推出的多平台支持在javascript驱动的webapp中使用。为此,我在Intellij中创建了一个新的多平台应用程序,并向其添加了后端和web模块。
公共模块中的示例类:
data class Show(
val id: Long,
val type: ShowType,
val title: String,
var description: S
我目前正在Kotlin中实现一个,当在JVM上构建/运行时,一切都运行得很好(标签标记正确,程序在标注句子时是合理的、快速的)。但是,当我将程序导出到JS时,会收到以下错误消息:
TypeError: tags.iterator is not a function. (In 'tags.iterator()', 'tags.iterator' is undefined)
Trigram — Trigram.kt:13
Globaler Code
evaluateWithScopeExtension
(anonyme Funktion)
_wrapCall
我试过
我正在实现一个纯Kotlin库,我将在开源许可证下发布该库。在我的库中,假设有class A,我想在其中重写equals()。我使用了Android Studio的自动生成器来做这件事,但它包含了对javaClass的引用 override fun equals(other: Any?): Boolean {
if (this === other) return true
if (javaClass != other?.javaClass) return false
other as A
...
} 在纯Kotlin库中使用此参考资料安全吗?如果有人使用我的库来攻击J
我正在使用Kotlin多平台(JVM & JS),它在IDEA中创建了三个项目:demo、demo-js和demo-jvm。
我想将公共代码分成更多的子项目/子模块。假设我添加了commonmod;如何使其编译?
现在,对于gradle run -p demo-jvm,错误是:
demo/demo-js/src/main/kotlin/demo/commonmod/example.kt: (3, 12): Actual function 'getPlatform' has no corresponding expected declaration
但是我认为我这样做是完