面试题答案
一键面试fn add(a: i32, b: i32) -> i32 {
a + b
}
在Rust中,函数参数的类型推断主要依赖于函数的使用上下文。例如,如果在调用add
函数时传入的是整数类型的值,编译器会推断a
和b
为整数类型。当未指定类型时,编译器需要足够的信息来确定类型。这里明确指定a
和b
为i32
类型,返回值也为i32
类型。如果不指定类型,编译器无法知道应该使用哪种整数类型(如i8
、i16
等),就会报错。只有在上下文中有足够信息让编译器确定类型时,类型推断才能生效。比如,如果函数体中有其他依赖特定类型的操作,编译器可据此推断参数类型。