Rust 引用

在講引用以前先介紹一下全部權。python

Rust中每個值都有且僅有一個全部者,當其全部者離開做用域後,這個值就被丟棄。blog

let s1 = String::from("hello");
let s2 = s1;

 上述代碼中s1將無效,由於改變量是存儲在堆上的。作用域

let mut s = String::from("hello");

let s1 = &mut s;
let s2 = &mut s;

 該代碼會編譯報錯。 編譯

 由於在特定做用域中的特定數據有且只有一個可變引用。class

 也不能在擁有不可變引用的同時擁有可變引用。變量

let mut str1 = String::from("hello");
let borr_str1 = &mut str1;

 上述代碼中str1將不能再使用,由於str1也屬於可變引用。引用

相關文章
相關標籤/搜索