面试题答案
一键面试fn add_and_subtract(a: i32, b: i32) -> (i32, i32) {
let sum = a + b;
let diff = a - b;
(sum, diff)
}
在这种简单场景下,函数参数的生命周期标注不是必要的。原因是这里的参数类型 i32
是简单值类型,它们在函数调用时是按值传递的,而不是通过引用传递。值类型有自己独立的内存空间,不依赖于外部作用域的生命周期。因此,Rust的编译器可以自动推导出合适的生命周期,无需手动标注。