为什么需要 main 函数而 println 不起作用

问题描述 投票:0回答:3

我正在通过在这里进行在线测试来学习如何使用 Kotlin:https://pl.kotl.in/P-v2WU7SH 我正在测试的代码是:

fun main() {
}

fun test(a: Int): Int{
    var c: Int = a*2
    return c
}

var z: Int = 5
var k: Int = test(z)
println(k)

我有两个问题:

  1. 为什么
    println(k)
    向我显示错误(“期望顶级声明”)并且当我删除它时没有问题?
  2. 为什么当我删除
    fun main(){}
    并运行我的代码时,它显示:“项目中找不到主要方法”?
kotlin
3个回答
1
投票

许多旧教程不适用于新版本的 Kotlin。在这种情况下,您似乎正在编写 Kotlin 脚本,而编译器/IDE 可能会将文件识别为类。

要使 Kotlin 脚本在 Kotlin 1.4 上运行,请进行以下更改:

将此添加到

build.gradle

implementation("org.jetbrains.kotlin:kotlin-scripting-jvm")

并将脚本文件从

.kt
重命名为
.kts


0
投票

检查import

例如这个 println() 不显示文本

import java.sql.DriverManager.println

enter image description here


-1
投票

Kotlin 仍然受到与 Java 相同的 JVM 规则的约束。

  • 所有代码均从主方法初始化并运行。
  • 任何方法都不能在任何方法的上下文之外调用。

因此,如果您将变量声明和

println
语句放入
main
中,那就可以正常工作了。

© www.soinside.com 2019 - 2024. All rights reserved.