kotlin 我不明白为什么“return”不返回值[duplicate]

wnavrhmk  于 2023-01-09  发布在  Kotlin
关注(0)|答案(1)|浏览(167)
    • 此问题在此处已有答案**:

Kotlin: Variable 'result' must be initialized(3个答案)
Kotlin variable usage "variable must be initialize"(1个答案)
昨天关门了。
我是kotlin的新手,我不太懂英语,所以"Google Translate hello!"。我想返回在if条件执行期间收到的值。此函数迭代excel表中的列,直到找到我需要的列并返回其编号
我试着写return@getTableValue来指示返回值的位置,但是它没有给出任何东西,我不明白,help
我的代码:

private fun getTableValue(xlWs: Sheet, groupe: String, dopgroupe: String): Int {

        var gr: String
        var cellNumb: Int
        var res: Int

        for (i in 0..20){
            gr = xlWs.getRow(0).getCell(i).toString()
            if (gr == groupe){
                cellNumb = i

                if (dopgroupe == "1") {
                    res = cellNumb
                }
                if (dopgroupe == "2") {
                    res = cellNumb + 2
                }
            }
        }

        return res // Error Variable 'res' must be initialized
    }
p1iqtdky

p1iqtdky1#

你只在if语句中设置了res,所以编译器不能确定你是否给res设置了一个值。你只能在保证变量已经被设置了之后才能使用它的值。在这种情况下,最简单的解决方案是在声明位置给予变量一个初始值,如下所示:

var res: Int = 0

相关问题