2
我是Scala的新手。請告訴scala中的函數和函數文字
和 和def fun(t: Int => Int):Unit
之間
def fun(t: Int => Int):Unit = {
def fun(t: =>Int):Unit {
def fun(t:=>Int):Unit { (without space b/w ":" and "=>"))
我是Scala的新手。請告訴scala中的函數和函數文字
和 和def fun(t: Int => Int):Unit
之間
def fun(t: Int => Int):Unit = {
def fun(t: =>Int):Unit {
def fun(t:=>Int):Unit { (without space b/w ":" and "=>"))
不同的是,只有一個參數,t
的方法。它的類型Int => Int
是一個函數,它需要一個Int
,並返回一個Int
。但是,返回類型fun
是Unit
。
def fun(t: =>Int):Unit
是一種接受call by name參數t
的方法。此方法的返回類型是Unit
。
第二種和第三種方法沒有區別。
感謝您的回答。但是「def fun(t:Int => Int):Unit」也是按名稱調用的? –
否,因爲'=>'在名稱參數前加上了一個呼叫。它並不適用於你提到的情況。 –
我很抱歉,但您能否詳細說明。當我使用def fun(t:Int => Int):Unit運行代碼並在fun中傳遞函數時,只有當我使用變量「t」時纔會調用該函數。那麼,它是不是通過名稱呼叫? –