Valori restituiti multipli
Fa parte della sezione Fondamenti del percorso Rust di Coddy. Lezione 52 di 75.
In Rust, una funzione può restituire più valori usando una tupla come tipo restituito. Una tupla è un gruppo di valori diversi raccolti in un'unica unità.
Per esempio:
fn get_coordinates() -> (i32, i32) {
let x = 10;
let y = 20;
(x, y) // Restituisce una tupla
}Ecco come chiamare la funzione:
let (x, y) = get_coordinates();
// Decomponi la tupla
// in variabili separate
println!("{}, {}", x, y);Puoi restituire tutti i valori di cui hai bisogno aggiungendo altri elementi alla tupla. Per esempio:
fn get_details() -> (String, i32, f64) {
let name = String::from("Alice");
let age = 30;
let score = 95.5;
(name, age, score)
// Restituisci una tupla con tre valori
}Ed ecco come chiamare la funzione:
let (name, age, score) = get_details();
println!("{}, {}, {}", name, age, score);Sfida
FacileCrea una funzione chiamata get_user_info che restituisca una tupla contenente il nome, l'età e l'indirizzo email di un utente. La funzione deve avere la seguente firma:
fn get_user_info() -> (String, i32, String)All'interno della funzione, crea le seguenti variabili:
name: unaStringinizializzata a "Bob"age: uni32inizializzato a 25email: unaStringinizializzata a "bob@example.com"
Restituisci questi tre valori come tupla.
Nella funzione main, chiama get_user_info e destruttura la tupla restituita in variabili separate chiamate name, age ed email. Poi, stampa questi valori nella console usando println! nel seguente formato:
Name: [name], Age: [age], Email: [email]Provalo tu
fn get_user_info() -> (String, i32, String) {
// Crea qui le variabili name, age e email
// Restituisci la tupla
}
fn main() {
// Chiama get_user_info e destruttura la tupla restituita
// Stampa i valori
}Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Fondamenti
4Operatori Parte 1
Operatori aritmeticiOperatore moduloAbbreviazioni aritmeticheOperatori di confrontoConfronto tra stringhe7Input/output di base
Stampare sulla consoleLeggere l'input dell'utenteRiepilogo - Fino a 120Riepilogo - Vero o falso5Operatori Parte 2
Operatori logici Parte 1Operatori logici Parte 2Ripasso - Logica sempliceOperatori logici Parte 311Funzioni
Dichiarare le funzioniParametri e argomentiValori restituitiValori restituiti multipliRiepilogo - funzione SigmaRiepilogo - funzione di validazione14Iterare sugli array
Guida ai rangeCiclo for avanzatoPrestito nel cicloOperazioni comuni sugli array3Variabili Parte 2
Dichiarazione del tipoConvenzioni di denominazioneInferenza del tipoRipasso - Inizializzare le variabiliConversione di tipo9Cicli
Ciclo for su sequenzeCiclo whileBreakContinueCiclo annidatoEtichette dei cicliCiclo infinitoRiepilogo - Input dinamico12Fondamenti degli array
Dichiarare gli arrayArray come parametroAccedere agli elementiModificare gli arrayRiepilogo - Stampare un array in modo leggibile15Operazioni sulle stringhe
Metodi delle stringheMacro format!Conversione delle stringheRipasso - FormattazioneEsercitati da solo: Compilatore Rust online