Funciones

From El Mago del Rust
Jump to navigation Jump to search

main[edit]

Main es la función principal de un programa de Rust: es su punto de inicio o entrada.

Rust utiliza la convención snake case para nombrar identificadores de funciones y variables.

Las definiciones de Rust empiezan con fn y tienen un conjunto de paréntesis y llaves para indicar el inicio y final del cuerpo de la función.

A diferencia de otros lenguajes, Rust solo necesita que una función esté definida en algún lugar del código fuente, no necesita estar antes o después del lugar donde se le invoca.

fn una_funcion(){
    println!("Otro hola!");
}

Parámetros[edit]

Los parámetros o argumentos son las variables especiales que son parte de la función.

Una función, al invocar a otra, puede pasarle valores como en este ejemplo:

fn main(){
    una_funcion(10);
}

fn una_funcion(a: i32){
    println!("El valor obtenido es {}",a);
}

Se puede agregar más funciones, agregando identificadores de variables y tipos, separados por comas.

Retorno de valores[edit]

Las funciones puede devolver valores, declarando el tipo y usando una flecha ->. El valor que se devolverá es la última expressión en el cuerpo de la función. Se puede usar return si se desea devolver antes del final.

fn cinco() -> i32 {
     5
}
 
fn main() {
    let a = cinco();
    println!("El valor de a es: {}", a);
}

Si se desea pasar parámetros además de recibir algo devuelta de la función, se le agregarían las variables entre los paréntesis como es usual, antes de la flecha.

Acá hay que tener cuidado si se va a devolver un valor al final de una función: si se pone un punto y coma al final del 5 (en la función arriba), se producirá un error 308, pues se estará convirtiendo una expresión (5) en una declaración (5;);