Quali sono le implicazioni dell'uso di def
rispetto a val
in Scala per definire un valore costante e immutabile? Ovviamente posso scrivere quanto segue:Quali sono le implicazioni dell'uso di def vs. val per i valori costanti
val x = 3;
def y = 4;
var a = x + y; // 7
Qual è la differenza tra queste due affermazioni? Quale si comporta meglio/è il modo consigliato/più idiomatico? Quando dovrei usare uno sull'altro?
»Volontà di memoria«? Il valore deve essere memorizzato _somewhere_, non vedo perché una forma richiederebbe più memoria dell'altra ...? – knittl
@knittl Se hai mille istanze, un campo verrà memorizzato migliaia di volte. Una definizione di metodo viene memorizzata solo una volta. –
Ah ok, questo ha senso! – knittl