let x = 5; let y = x; println!("x = { }, y = { }", x, y); // x = 5, y = 5複製程式碼
將值傳遞給函式在語義上與給變數賦值相似
fnmain() { let s = String::from("hello"); // s 進入作用域 run_move(s); // s 的值移動到函式裡,s失效// 因此到這裡,s不再有效/* 將會報錯:因為s已經被move 報錯資訊:will error value borrowed here after move println!("s:{ }",s); */let x = 5; // x 進入作用域 run_copy(x); // x 應該移動函式裡println!("x:{ }",x); // 因為 x 是 棧變數,因為不會被 move 使失效 } // x 移出了作用域,// s 移出了作用域但,因為 s 的值已被移走,所以不會有特殊操作fnrun_move(some_string: String) { // some_string 進入作用域println!("run_move:{ }", some_string);