В Rust вы можете возвращать несколько значений, используя кортеж. Для этого можно использовать несколько методов. Вот несколько примеров:
Метод 1: использование типа возврата кортежа
fn return_tuple() -> (i32, f64, String) {
// Some computations
let result1 = 42;
let result2 = 3.14;
let result3 = String::from("Hello");
(result1, result2, result3)
}
fn main() {
let (value1, value2, value3) = return_tuple();
println!("Value 1: {}", value1);
println!("Value 2: {}", value2);
println!("Value 3: {}", value3);
}
Метод 2: использование структуры
struct MyStruct {
value1: i32,
value2: f64,
value3: String,
}
fn return_struct() -> MyStruct {
// Some computations
let result1 = 42;
let result2 = 3.14;
let result3 = String::from("Hello");
MyStruct {
value1: result1,
value2: result2,
value3: result3,
}
}
fn main() {
let my_struct = return_struct();
println!("Value 1: {}", my_struct.value1);
println!("Value 2: {}", my_struct.value2);
println!("Value 3: {}", my_struct.value3);
}
Метод 3. Использование ссылок
fn return_references() -> (&'static str, &'static str) {
let result1 = "Hello";
let result2 = "World";
(result1, result2)
}
fn main() {
let (value1, value2) = return_references();
println!("Value 1: {}", value1);
println!("Value 2: {}", value2);
}