28 lines
462 B
Rust
28 lines
462 B
Rust
|
trait HelloTrait {
|
||
|
fn hello(&self, s:String) -> String;
|
||
|
}
|
||
|
|
||
|
struct HelloStruct {
|
||
|
name: String
|
||
|
}
|
||
|
|
||
|
// Implementation of the trait for the struct
|
||
|
impl HelloTrait for HelloStruct {
|
||
|
fn hello(&self, s:String) -> String {
|
||
|
let x = format!("Hello {}, {}!", s, self.name);
|
||
|
x
|
||
|
}
|
||
|
}
|
||
|
|
||
|
fn main() {
|
||
|
let example = HelloStruct { name: String::from("John") };
|
||
|
println!("{}", example.hello(String::from("there")));
|
||
|
}
|
||
|
|
||
|
/*
|
||
|
Output:
|
||
|
|
||
|
:!./traits
|
||
|
Hello there, John!
|
||
|
*/
|