SetDelayed (:=)

SetDelayed has attribute HoldAll, thus it does not evaluate the right-hand side immediately, but evaluates it when needed.

Condition can be used to make a conditioned assignment: