On this page
article
Static Methods of Structs
What Are Static Methods?
- Static methods are the ones that can be invoked without instantiating the struct.
Declare a Static Method
The following illustration explains how to declare a static method within the impl construct.
Note: If the construct is declared with an impl keyword, it must have one or both types of methods, static or non-static.
Invoke a Static Method
A static method can be invoked by following the struct name with the membership operator:: followed by the method name :
Example
The following example creates a static method my_static_method
and invokes it from the main function.
// declare a struct
struct Course {
name: String,
level:String,
code: i32,
}
impl Course {
// static method
fn my_static_method(n: String, l: String, c:i32) -> Course {
Course {
name: n,
level:l,
code:c
}
}
//display
fn display(&self){
println!("name :{} code:{} of type: {}", self.name, self.code, self.level );
}
}
fn main(){
// call the static method
let c1 = Course::my_static_method("Rust".to_string(), "beginner".to_string(), 132);
c1.display();
}
output
name :Rust code:132 of type: beginner
Last updated 25 Jan 2024, 05:11 +0530 .