2017-07-28 208 views
2

單位對象現在我學習科特林,在這個guide我碰上了這兩種方法,一是用Unit和另一個不什麼是科特林

unit

fun printSum(a: Int, b: Int): Unit { 
    println("sum of $a and $b is ${a + b}") 
} 

方法沒有Unit

fun printSum(a: Int, b: Int) { 
    println("sum of $a and $b is ${a + b}") 
} 

我的問題是,什麼是Unit實際上做?在Java中是否類似void?如果它就像void爲什麼上面的方法之一沒有Unit運行就好。

當我想我的方法什麼都不返回時,應該使用哪一個?而且當最好的時候使用Unit

任何人都可以解釋一下嗎?因爲它讓我很困惑。提前致謝。

回答

0

。它在網站以及在github上源被清楚地提到的是

object Unit 類型只有一個值:所述單元對象。這種類型對應於Java中的void類型。

在存儲庫

此外,

/** * 的類型只有一個值:所述單元對象。這種類型對應於Java中的void類型。 */

When to use it?

+0

有啥與方法的不同,而不'Unit',他們都回到沒有 –

+2

爲方便科特林允許省略聲明的返回類型時,返回類型爲單位 - 見https://kotlinlang.org/docs/reference/functions.html#unit-returning-functions –

+1

@GustiArya不,它是**不**不返回任何東西。單位是一個實際的對象。 – EJoshuaS