From 9d9c7e21bbc1e70a233325f5d28cf8bfe7930fef Mon Sep 17 00:00:00 2001 From: Manuel Riquelme Date: Thu, 1 Jun 2023 15:45:55 +0200 Subject: [PATCH] por valor y por referencia --- porreferencia/Cargo.toml | 8 ++++++++ porreferencia/src/main.rs | 12 ++++++++++++ porvalor/Cargo.toml | 8 ++++++++ porvalor/src/main.rs | 9 +++++++++ 4 files changed, 37 insertions(+) create mode 100644 porreferencia/Cargo.toml create mode 100644 porreferencia/src/main.rs create mode 100644 porvalor/Cargo.toml create mode 100644 porvalor/src/main.rs diff --git a/porreferencia/Cargo.toml b/porreferencia/Cargo.toml new file mode 100644 index 0000000..6a420bc --- /dev/null +++ b/porreferencia/Cargo.toml @@ -0,0 +1,8 @@ +[package] +name = "porreferencia" +version = "0.1.0" +edition = "2021" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] diff --git a/porreferencia/src/main.rs b/porreferencia/src/main.rs new file mode 100644 index 0000000..9f8e85b --- /dev/null +++ b/porreferencia/src/main.rs @@ -0,0 +1,12 @@ +fn agregar(a: &i32, b: &i32) -> i32 { + //pide que los datos sean referencias + a + b +} + +fn main() { + let v1 = &3; // & referencia + let v2 = *v1; // * desreferencia + let valor = agregar(v1, &v2); + + println!("{}", valor); +} diff --git a/porvalor/Cargo.toml b/porvalor/Cargo.toml new file mode 100644 index 0000000..e2bb84c --- /dev/null +++ b/porvalor/Cargo.toml @@ -0,0 +1,8 @@ +[package] +name = "porvalor" +version = "0.1.0" +edition = "2021" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] diff --git a/porvalor/src/main.rs b/porvalor/src/main.rs new file mode 100644 index 0000000..1ea6157 --- /dev/null +++ b/porvalor/src/main.rs @@ -0,0 +1,9 @@ +fn agregar(a: i32, b: i32) -> i32 { + // como no tiene punto y coma este dato es retornado + a + b +} + +fn main() { + let valor = agregar(3, 5); + println!("{}", valor) +}