В Scala существует несколько способов обозначения значений и методов, так же как и обращения к ним, и сразу понять их может быть немного затруднительно, так давайте же разберёмся вместе? Начнём с самого простого - val и var, в чём различие между ними? Поможет понять "продолжение слова", VALue и VARiable - как не трудно после этого догадаться, первый - как значение - неизменный, а второй - изменяемый. По-хорошему старайтесь избегать использования var, ведь в функциональном подходе мутабельность(изменяемость) является отрицательным качеством, по многим причинам, но не об этом сегодня. Теперь давайте посмотрим на def и val, тут уже может быть не столь ясно. Чего же тут сложного, def - метод, val - значение, - скажете Вы. Так то оно так, но понимание скрыто чуть глубже, посмотрим на наглядный пример: val func : Int => String = "Number is " + _.toString def func2(a:Int) = "Number is " + a.toString Вот два "метода", скажем так, которые делают абсолютно одно и то же, даже вызов будет одинаков
Val, var, def, обращение по имени и по значению - как не запутаться?
1 октября 20191 окт 2019
52
1 мин