在Kotlin中使用run函数而不是return是一种好习惯吗?

时间:2016-11-25 12:30:47

标签: return kotlin

Kotlin有一个扩展函数run

/**
 * Calls the specified function [block] and returns its result.
 */
@kotlin.internal.InlineOnly
public inline fun <R> run(block: () -> R): R = block()

可以使用run函数代替return。

// an example multi-line method using return
fun plus(a: Int, b: Int): Int {
  val sum = a + b
  return sum
}

// uses run instead of return
fun plus(a: Int, b: Int): Int = run {
  val sum = a + b
  sum
}

哪种风格更好?

1 个答案:

答案 0 :(得分:5)

对于更复杂的功能,第一个选项将更具可读性。 对于简单的函数,我建议您查看Single-expression function语法。

fun plus(a: Int, b: Int): Int = a + b