Note #7

I’ve been looking at Rust recently and I wrote a small Rust program that uses traits, a concept very similar to interfaces in other languages. There’s a lot to learn but this seems reasonable.

struct Message {
id: i32,
text: String,
}
trait Printer {
fn print(&self, value: &str);
}
struct ConsolePrinter {}
impl Printer for ConsolePrinter {
fn print(&self, value: &str) {
println!("{}", value);
}
}
fn main() {
let messages = vec![
Message {
id: 1,
text: String::from("Hello world"),
},
Message {
id: 2,
text: String::from("How are you?"),
},
Message {
id: 3,
text: String::from("Goodbye"),
},
];
let printer = ConsolePrinter {};
for message in &messages {
printer.print(&message.text)
}
}

Read the rest of my notes

© Lloyd Atkinson 2024 ✌

I'm available for work 💡