所有權

所有變數繫結都會在特定「範圍」內有效,在範圍外使用變數會是錯誤:

struct Point(i32, i32);

fn main() {
    {
        let p = Point(3, 4);
        println!("x: {}", p.0);
    }
    println!("y: {}", p.1);
}
  • 範圍結束時,變數會遭到「捨棄」,資料也會釋放。
  • 解構函式可在這時執行,用來釋放資源。
  • 我們會說變數「擁有」值。