返回两个值的函数

让我们来讨论一下返回两个值的函数。比如,一个结果对象和一个状态什么的,一个可行的方式就是声明一个data class并返回它的实例。

data class Result(val result: Int, val status: Status)
fun function(...): Result {
    // computations
    return Result(result, status)
}

现在我们可以使用以下的函数来实现:

val (result, status) = function(...)

因为data类会自动的声明componentN()方法,因此重构声明是可行的。

需要注意的是:我们也可以使用标准内Pair,并让函数返回Pair<Int, Status>,但是最好还是有被命名的属性来提高可读性。

results matching ""

    No results matching ""