2016-11-25 24 views
1

Kotlin有一個擴展功能run在Kotlin中使用運行函數而不是返回是否是一種好的做法?

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

run函數可以用來代替返回。

// 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 
} 

哪種風格更好?

回答

5

對於更復雜的功能,第一個選項將更具可讀性。 對於簡單的功能,我建議看看Single-expression function的語法。

fun plus(a: Int, b: Int): Int = a + b 
相關問題