Funciones de óxido

Funciones de óxido
Esta guía explorará cómo crear y usar funciones en el lenguaje de programación de óxido. Las funciones son una característica universal en la mayoría de los lenguajes de programación y fundamental para cualquier desarrollador que sepa.

Que es una función?

Antes de entrar en los detalles de la creación y el uso de una función, descompongamos qué es una función y por qué usarla.

Una función no es más que uno o más bloque de código que se agrupa y realiza una sola entidad. Las funciones son una característica pesada en la mayoría de los lenguajes de programación, ya que nos permiten organizar y exportar código a otras partes del programa en un patrón legible.

A estas alturas, te has encontrado con la función principal en el lenguaje de óxido. La función principal es un tipo especial de función que sirve como punto de entrada para un programa de óxido.

Con eso fuera del camino, discutamos cómo crear y usar funciones en Rust.

Funciones de óxido

Los siguientes son los pasos a seguir al definir una función en óxido.

  1. Comenzamos con la palabra clave FN.
  2. A continuación, establecemos el nombre de la función.
  3. Un par de paréntesis y pasa una lista de parámetros.
  4. Definir un cuerpo de funciones utilizando la apertura y el cierre de aparatos ortopédicos rizados.
  5. Finalmente, un valor de devolución (si está disponible).

Podemos expresar el código anterior en la sintaxis que se muestra a continuación:

fnfunction_name (parámetros)
// Funcionar cuerpo

El tipo de función más básico es uno que no acepta ningún parámetro ni contiene un valor de retorno. Podemos definir tal función como se muestra en el ejemplo a continuación:

fn say_hello ()
println!("Hola Mundo");

Lo anterior ilustra el concepto más básico de una definición de función. Comenzamos con la palabra clave FN seguido del nombre de la función, en nuestro caso, say_hello (). Luego abrimos el cuerpo de la función dentro de un par de aparatos ortopédicos rizados.

El cuerpo de la función no contiene nada más que la lógica de lo que hace la función. Ocasionalmente, una función llamará a otras funciones y las usará.

Llamar a una función

Una vez que tenemos una función declarada, podemos usarla para realizar las acciones definidas. Nos referimos al proceso de usar una función como una llamada de función o invocar una función.

En Rust, llamamos a una función al proporcionar su nombre y un par de paréntesis. Esto le dice al compilador que deseamos ejecutar las instrucciones definidas en esa función.

En nuestro ejemplo, podemos llamar a nuestra función dentro de la función principal como se muestra en el ejemplo a continuación:

fn main ()
//! Llamar a la función
di hola();

/// Declaración de funciones
fn say_hello ()
println!("Hola Mundo");

Parámetros de función

Una de las principales razones para usar funciones es pasar parámetros. Un parámetro es un tipo especial de variable que podemos pasar a la función y permitir la modificación de la lógica que usa la función.

A menudo puede escuchar los términos parámetro de palabra y argumento utilizados indistintamente. Aunque tienen una diferencia, realmente no es nada para evitar que construyeran herramientas con óxido.

Para definir un conjunto de parámetros de función, comenzamos definiendo el nombre del parámetro seguido de su tipo dentro de los paréntesis de la función.

La sintaxis es como se muestra:

FN Function_Name (Parameter1: data_type)
// Funcionar cuerpo

Nota Debe realizar una anotación de tipo para un parámetro de función.

Tomemos la función Say_hello que definimos anteriormente y la mejoramos para que diga hola al usuario específico.

Podemos hacer:

fn say_hello (nombre: & str)
println!("Hola, ", nombre);

En el ejemplo anterior, definimos un parámetro para la función say_hello de type & str. Ahora podemos pasar un nombre a la función, y nos saludará con el nombre proporcionado.

Para pasar el parámetro durante la llamada de función, podemos hacer:

fn main ()
say_hello ("Sarah!");

fn say_hello (nombre: & str)
println!("Hola, ", nombre);

Declaración de funciones y expresión

Como se mencionó, un cuerpo de función comprende declaraciones de código que realizan una acción. Hemos usado una macro definida para imprimir algo en la pantalla en nuestro ejemplo. Sin embargo, podemos crear una lógica personalizada para nuestras funciones.

Por ejemplo, tome la función a continuación que toma dos enteros y devuelve el máximo de los dos:

fnmaximum (x: i32, y: i32)
Deje Mut max = 0;
Si x> y
max = x;
demás
max = y;

println!("El valor máximo es: ", max);

Luego podemos llamar a la función y pasar los dos valores enteros como se muestra a continuación:

fn main ()
máximo (100, 50);

Ejecutar el código anterior debe imprimir:

El valor máximo es: 100

Valores de retorno de la función

Una función también puede devolver un valor basado en la lógica y las acciones que realiza. Luego podemos usar el valor devuelto de la función para realizar otras operaciones. Aunque no nombramos el valor de retorno en una función, debemos decirle al compilador que esperamos que la función devuelva un valor de un tipo específico.

Hacemos esto usando la flecha -> notación.

Tome la función máxima () que definimos anteriormente. En lugar de imprimir el valor máximo, podemos hacer que la función devuelva el valor máximo, y podemos usarlo para actuar en otras partes del programa.

Para definir un tipo de retorno de función, podemos usar la sintaxis como:

FN function_name (parámetro: type) -> return_type
// Funcionar cuerpo

Considere el ejemplo a continuación que redefine la función máxima para incluir un valor de retorno:

fn máximo (x: i32, y: i32) -> i32
// lógica

En este caso, esperamos que la función devuelva un tipo i32.

Una vez que hemos definido un tipo de retorno de función, debemos asegurarnos de que la función realmente devuelva algo.

Podemos hacer esto usando la palabra clave de retorno. Por ejemplo, para devolver el valor máximo de la función anterior, podemos hacer:

fnmaximum (x: i32, y: i32) -> i32
Deje Mut max = 0;
Si x> y
max = x;
demás
max = y;

devolver max;

La función debe devolver el valor de la variable MAX.

Otro formato que podemos usar para devolver un valor de una función es especificar el valor de retorno sin terminador de semi-colon.

Un ejemplo es como se muestra:

fnmain ()
say_hello ("Sarah!");
máximo (100, 50);

fnsay_hello (nombre: & str)
println!("Hola, ", nombre);

fnmaximum (x: i32, y: i32) -> i32
letmut max = 0;
Si x> y
max = x;
demás
max = y;

// sin palabras clave de retorno ni semicolón
máximo

El ejemplo anterior debe comportarse de manera similar a la palabra clave de retorno.

Luego podemos usar el valor devuelto de la función para realizar una acción. Por ejemplo:

fn main ()
println!("Producto: ", máximo (100, 10) * 2);

Aquí, tomamos el valor devuelto de la función máxima y lo multiplicamos por 2.

Para concluir

Para este tutorial, exploramos el concepto de funciones, cómo definir una función, parámetros de función, valores de retorno de funciones y más. Las funciones son un concepto importante en la programación, y nos permiten organizar y reutilizar el código sin repetición.

Esperamos que hayas disfrutado el tutorial.

Adiós por ahora!