What is the purpose of `&` before the loop variable?
问题 What is the purpose of & in the code &i in list ? If I remove the & , it produces an error in largest = i , since they have mismatched types (where i is &32 and i is i32 ). But how does &i convert i into i32 ? fn largest(list: &[i32]) -> i32 { println!("{:?}", list); let mut largest = list[0]; for &i in list { if i > largest { largest = i; } } largest } fn main() { let hey = vec![1, 3, 2, 6, 90, 67, 788, 12, 34, 54, 32]; println!("The largest number is: {}", largest(&hey)); } Playground It