Red de conocimiento informático - Problemas con los teléfonos móviles - Rust reemplaza el nombre de la función

Rust reemplaza el nombre de la función

1. Introducción a la función

① Las funciones de Rust comienzan con la palabra clave fn y el nombre de la función utiliza el estilo estándar de mayúsculas y minúsculas (todas las letras están en minúsculas y separadas por guiones bajos);

②. Puede haber una serie de parámetros de entrada o un valor de retorno;

③ La función se puede devolver utilizando la declaración de retorno o una expresión (sin punto y coma al final). >④, la función no necesita escribir un tipo de retorno. En este caso, el compilador asumirá que el tipo de retorno es unit();

⑤ El punto de entrada del programa ejecutable es fn main. ();

⑥ Al llamar a una función, a Rust no le importa dónde está definida la función (no importa antes o después), ¡siempre que la definición esté completa!

⑦ Las funciones de Rust se pueden definir en el cuerpo de otros módulos, como variables estáticas, constantes, funciones, rasgos, tipos, etc.

2 Ejemplo de función

fn main() {

let num = add(1,2);

println! ("{}",num)

}

fn add(x:i32,y:i32) -> i32{

x+y

}

Copia de inicio de sesión

3. Valor de retorno de la función

Preste atención a la diferencia entre declaraciones y expresiones. no dividido en No., hay un valor de retorno. Hay un punto y coma al final de la declaración y no hay ningún valor de retorno.

Por lo tanto, para la siguiente función, si el cuerpo de la función contiene un punto y coma, se informará un error:

fn add(x:i32,y:i32) -> i32{

x+y;

}

Inicie sesión y copie

Copia x+y en la expresión (elimine el punto y coma final; ).

4. Función divergente

Rust admite una función divergente especial cuyo tipo de retorno es un signo de exclamación.

Si la función no regresa correctamente, puedes escribir así:

fn diverges() -> ! {

// ¡panic! hará que la pila se expanda directamente, por lo que no se ejecutará ningún código después de la llamada a la función, ¡y su tipo de retorno sí lo será!

panic!("La función no puede regresar");

}

Inicia sesión para copiar

Las características más importantes de Función divergente: Se pueden convertir en cualquiera de varios tipos.

¡En Rust, los siguientes tipos de devolución son todos!

1. ¡Pánico! y varias funciones/macros basadas en pánico, como ¡no implementadas! e inalcanzable!

2. Bucle infinito{}

3. Función de salida del proceso std::process::exit y función similar exec en libc.

5.

5.const fn

Las funciones se pueden modificar usando la palabra clave const, de modo que el compilador pueda ejecutar estas funciones durante la fase de compilación y convertir El valor de retorno se trata como una constante en tiempo de compilación.

Cabe señalar que las funciones constantes se ejecutan durante la fase de compilación, por lo que existen muchas restricciones en comparación con las funciones ordinarias y no todas las expresiones y declaraciones se pueden utilizar en ellas.