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 calledFoowith a fieldxof typei32.struct Bar { y: &Foo, }- This creates a struct calledBarwith a fieldyof type&Foo, which is a reference to aFoostruct.let foo = Foo { x: 10 };- This creates aFoostruct with the value ofxset to10.let bar = Bar { y: &foo };- This creates aBarstruct with the value ofyset to a reference of thefoostruct.println!("{}", bar.y.x);- This prints the value ofxfrom thefoostruct, which is10.
Helpful links
Related
- How do I check if a variable is in a list of values in Rust?
- How do I print the type of a variable in Rust?
- How do I use a variable in a match statement in Rust?
- How do I pass a variable as an argument to a function in Rust?
- How do I zip variables in Rust?
- How can I use a hashmap as a global variable in Rust?
- How do I check the type of a variable in Rust?
- How do I use a range with a variable in Rust?
- How do I print a variable in Rust?
- How do I write a variable to a file in Rust?
More of Rust
- How to replace strings using Rust regex?
- How to match whitespace with a regex in Rust?
- How to match a URL with a regex in Rust?
- How to replace all matches using Rust regex?
- How to use regex lookbehind in Rust?
- How to use regex to match a double quote in Rust?
- How to use non-capturing groups in Rust regex?
- Regex example to match multiline string in Rust?
- How to use regex lookahead in Rust?
- How to get a capture group using Rust regex?
See more codes...