| struct Greeting; |
| |
| impl Greeting { |
| fn get_greeting(&self, name: &str) -> String { |
| format!("Hello, {}!", name) |
| } |
| |
| fn get_farewell(&self, name: &str) -> String { |
| format!("Goodbye, {}. Have a great day!", name) |
| } |
| |
| fn get_personalized_greeting(&self, name: &str, time_of_day: &str) -> String { |
| match time_of_day.to_lowercase().as_str() { |
| "morning" => format!("Good morning, {}", name), |
| "afternoon" => format!("Good afternoon, {}", name), |
| "evening" => format!("Good evening, {}", name), |
| _ => format!("Good day, {}", name), |
| } |
| } |
| } |
| |
| fn main() { |
| let greeting = Greeting; |
| println!("{}", greeting.get_greeting("foo")); |
| println!("{}", greeting.get_farewell("bar")); |
| println!("{}", greeting.get_personalized_greeting("baz", "morning")); |
| } |