rustHow do I share a variable between structs in Rust?
You can share a variable between structs in Rust by using a reference. A reference is a type of pointer that allows you to refer to a value without taking ownership of it. To create a reference, use the &
operator.
struct Foo {
x: i32,
}
struct Bar {
y: &Foo,
}
fn main() {
let foo = Foo { x: 10 };
let bar = Bar { y: &foo };
println!("{}", bar.y.x);
}
Output example
10
Code explanation
struct Foo { x: i32, }
- This creates a struct calledFoo
with a fieldx
of typei32
.struct Bar { y: &Foo, }
- This creates a struct calledBar
with a fieldy
of type&Foo
, which is a reference to aFoo
struct.let foo = Foo { x: 10 };
- This creates aFoo
struct with the value ofx
set to10
.let bar = Bar { y: &foo };
- This creates aBar
struct with the value ofy
set to a reference of thefoo
struct.println!("{}", bar.y.x);
- This prints the value ofx
from thefoo
struct, which is10
.
Helpful links
Related
- How do I identify unused variables in Rust?
- How do I zip variables in Rust?
- How do I write a variable to a file in Rust?
- How do I check if a variable is in a list of values in Rust?
- How do I access a tuple variable by index in Rust?
- How do I add padding to a variable in Rust?
- How can I use a mutex as a global variable in Rust?
- How do I add a variable to a string in Rust?
- How can I use a hashmap as a global variable in Rust?
- How do I declare a variable outside a function in Rust?
More of Rust
- How to match whitespace with a regex in Rust?
- How to replace a capture group using Rust regex?
- How to use regex captures in Rust?
- How to convert the keys of a Rust HashMap to a vector?
- How to split a string with Rust regex?
- How to get a capture group using Rust regex?
- How to clear a Rust HashMap?
- How to perform matrix operations in Rust?
- Bitwise negation (NOT) usage in Rust
- How to use regex to match a double quote in Rust?
See more codes...