С в главе книги Rust о владении , не копируемые значения могут быть переданы в функции либо путем передачи права собственности, либо с помощью изменяемой или неизменной ссылки.Когда вы передаете право собственности на значение, оно больше не может использоваться в исходной функции: вы должны вернуть его обратно, если хотите.Когда вы передаете ссылку, вы заимствуете значение и все еще можете его использовать.
Я пришел из языков, где значения неизменны по умолчанию (Haskell, Idris и т. П.).Поэтому я бы никогда не подумал об использовании ссылок вообще.Наличие одного и того же значения в двух местах кажется мне опасным (или, по крайней мере, неловким).Поскольку ссылки являются функцией, должна быть причина использовать их.
Есть ли ситуации, в которых я должен заставить себя использовать ссылки?Каковы эти ситуации и почему они полезны?Или они просто для удобства и по умолчанию передача права собственности в порядке?