在定义函数后如何解决这个'未解析的引用'?

mna*_*iya 0 kotlin

我只是编程的初学者,今天开始学习Kotlin.我收到了这个错误.

fun main(args: Array<String>) {

    val (two, three) = nextTwo(1) // Unresolved reference: nextTwo
    println("1, $two, $three")

    fun nextTwo(num: Int) : Pair<Int, Int> {
        return Pair(num+1, num+10)
    }

}
Run Code Online (Sandbox Code Playgroud)

错误的图片.

zsm*_*b13 7

本地函数只能在定义后在其本地范围内使用.

你可以将nextTwo函数移出main函数,就像这样(在这种情况下,无论是之前还是之后都无关紧要main):

fun nextTwo(...) {}

fun main(args: Array<String>) { 
    nextTwo(...)
}
Run Code Online (Sandbox Code Playgroud)

或者你可以在内部使用之前移动它main:

fun main(args: Array<String>) {
    fun nextTwo(...) {}

    nextTwo(...)
}
Run Code Online (Sandbox Code Playgroud)