Каковы последствия использования def
против val
в Scala для определения постоянного, неизменяемого значения? Очевидно, что я могу написать следующее:
val x = 3;
def y = 4;
var a = x + y; // 7
В чем разница между этими двумя утверждениями? Какое из них работает лучше / является рекомендуемым способом / более идиоматичным? Когда я мог бы использовать одно вместо другого?