Difference between revisions of "Funciones"

From El Mago del Rust
Jump to navigation Jump to search
 
(2 intermediate revisions by the same user not shown)
Line 31: Line 31:
Se puede agregar más funciones, agregando identificadores de variables y tipos, separados por comas.
Se puede agregar más funciones, agregando identificadores de variables y tipos, separados por comas.


=Cuerpo de las funciones=
=Retorno de valores=
Las funciones puede devolver valores, declarando el tipo y usando una flecha <code>-></code>. El valor que se devolverá es la última expressión en el cuerpo de la función. Se puede usar <code>return</code> si se desea devolver antes del final.
 
<syntaxhighlight lang="rust" line='line' highlight="1">
fn cinco() -> i32 {
    5
}
fn main() {
    let a = cinco();
    println!("El valor de a es: {}", a);
}
</syntaxhighlight>
 
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.


=Retorno de valores=
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 [[Errores_de_compilación#Errores_en_el_uso_de_las_variables|error 308]], pues se estará convirtiendo una expresión (<code>5</code>) en una declaración (<code>5;</code>);

Latest revision as of 23:08, 7 February 2021

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;);