Функции и функциональные литералы в scala

Я новичок в Скале. Пожалуйста, расскажите разницу между

    def fun( t: Int => Int):Unit = {

а также

    def fun(t: =>Int):Unit {

а также

    def fun(t:=>Int):Unit { (without space b/w ":" and "=>"))

1 ответ

def fun( t: Int => Int):Unit это метод, который принимает один аргумент, t, Его тип, Int => Intэто функция, которая принимает Intи возвращает Int, Тем не менее, тип возвращаемого значения fun является Unit,

def fun(t: =>Int):Unit это метод, который принимает вызов по имени аргумента t, Опять же, тип возвращаемого значения этого метода Unit,

Смотрите, что такое "Позвонить по имени"? тоже.

Там нет разницы между вторым и третьим методами.

Другие вопросы по тегам