我目前正在学习Rust中的所有权和borrow ,以及如何在没有borrow 的情况下使用同一个变量执行两次函数,就像这个例子中的那样,它不会编译
enum Computer{
Desktop,
Laptop,
}
fn print_type_of_computer(num: Computer){
match num {
Computer::Desktop => println!("this is a desktop"),
Computer::Laptop => println!("this is a laptop"),
}
}
fn main() {
let myComputer :Computer = Computer::Laptop;
print_type_of_computer(myComputer);
print_type_of_computer(myComputer);
}
然而,当我try 这个代码时,它运行得很好,即使没有borrow
fn get_double(num: i32){
println!("{:?}", num * 2);
}
fn main() {
let mynum :i32 = 3;
get_double(mynum);
get_double(mynum);
}
我希望有人能解释一下,为什么第一种情况不接受代码,而第二种情况却接受了