Definición de funciones
Parámetros y valores devueltos
Definición de funciones es una lección gratuita de Learn Rust Coding en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Learn Rust Coding, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Learn Rust Coding incluye 4 lecciones en total.
Partes de esta lección aún no han sido traducidas y se muestran en inglés.
Declaring a Function
You define a function with the fn keyword, a name, parentheses, and a body in curly braces.
Rust uses snake_case for function names by convention.
fn main() {
greet();
}
fn greet() {
println!("Hello from a function!");
}The main Function
Every executable Rust program starts at fn main(). It is the entry point the runtime calls first.
fn main() {
println!("Program starts here");
}Parameters
Functions can take parameters. Each parameter must declare its type after a colon.
fn main() {
print_number(7);
}
fn print_number(x: i32) {
println!("The number is {}", x);
}Multiple Parameters
Separate multiple parameters with commas. Each needs its own type annotation.
fn main() {
describe("Rust", 2010);
}
fn describe(name: &str, year: i32) {
println!("{} was released in {}", name, year);
}Return Values
Declare a return type after an arrow ->. The function gives back a value of that type.
The last expression (with no semicolon) becomes the return value.
fn main() {
let result = square(5);
println!("square is {}", result);
}
fn square(n: i32) -> i32 {
n * n
}The return Keyword
You can also return early with the return keyword. This is useful for guard conditions.
fn main() {
println!("{}", abs_value(-8));
}
fn abs_value(n: i32) -> i32 {
if n < 0 {
return -n;
}
n
}Combining Parameters and Returns
A function commonly takes inputs and produces an output. Here we add two numbers.
fn main() {
let total = add(3, 4);
println!("total {}", total);
}
fn add(a: i32, b: i32) -> i32 {
a + b
}Functions Calling Functions
Functions can call other functions, letting you build larger behavior from small reusable pieces.
fn main() {
println!("{}", double_then_add(5));
}
fn double(n: i32) -> i32 { n * 2 }
fn double_then_add(n: i32) -> i32 {
double(n) + 1
}Returning Other Types
Functions can return any type: strings, booleans, tuples, and more.
fn main() {
let (sum, product) = compute(3, 4);
println!("sum {} product {}", sum, product);
}
fn compute(a: i32, b: i32) -> (i32, i32) {
(a + b, a * b)
}Functions With No Return
A function without an arrow returns the unit type (). It does its work through side effects like printing.
fn main() {
log_message("saving file");
}
fn log_message(msg: &str) {
println!("[LOG] {}", msg);
}Order Does Not Matter
Unlike some languages, in Rust you can call a function defined later in the file. The compiler sees all functions before running.
fn main() {
println!("{}", helper());
}
fn helper() -> i32 {
99
}Quick Check
Recall how Rust functions return values.
Recap
Functions in Rust:
- Defined with
fn name(params) -> ReturnType { ... }. - Parameters need explicit types.
- The last expression (no semicolon) is the return value, or use
returnearly. - No return type means it returns
().
fn main() {
let area = rectangle_area(4, 6);
println!("area {}", area);
}
fn rectangle_area(w: i32, h: i32) -> i32 {
w * h
}Preguntas frecuentes
¿La lección «Definición de funciones» es gratis?
Sí — el texto completo de «Definición de funciones» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Learn Rust Coding, actualiza a CoddyKit PRO. El curso de Learn Rust Coding incluye 4 lecciones en total.
¿Qué aprenderé en «Definición de funciones»?
Parámetros y valores devueltos Practicas Learn Rust Coding con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Learn Rust Coding?
No se requiere experiencia previa. Learn Rust Coding en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.
¿Cuánto tiempo toma la lección «Definición de funciones»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Learn Rust Coding?
Sí. Cada lección de Learn Rust Coding incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Definición de funciones
- Expresiones y sentencias
- Closures
- Fn, FnMut, FnOnce