変数の借用について
借用と参照の概念
Rustではデフォルトでの変数の代入が出来ない。(参照:所有権について)
そこで、他の変数の値を利用して、かつ効率よくメモリを使用するために借用という概念を使用する。
以下にコード例を示す。
let a = 1;
let b = &a;
println!("{}",b); // 1と出力されるこれは変数bに変数aの値を参照していることになる。
つまり、bはaを借用しているという意味となる。
可変参照
先ほどのコードではbを通じてaの値を変更することはできない。
あくまでも値の参照を取っているだけである。
これはたとえaが可変であってもである。
借用している変数から借用元の変数の値を変更したい場合には&mutキーワードを用いる。
以下にコード例を示す。
let mut a = 1;
let b = &mut a;
b = 5;
println!("{}",a); // 5と出力されるこれによりbを介してaを変更することが出来る。
可変参照はスコープ内で一つの変数につき一つまでである。