Fórum Root.cz
Hlavní témata => Vývoj => Téma založeno: okalousek 01. 04. 2020, 00:33:17
-
Ahoj. Měl bych pár otázek na programování v Rustu.
Mám kód:
struct Animal {
name: String,
sound: String,
}
impl Animal {
fn print_data(&self) {
println!("Name: {}", self.name);
println!("Sound: {}", self.sound);
}
}
fn main() {
let cat = Animal {
name: String::from("Cat"),
sound: String::from("Mňau!"),
};
cat.print_data();
}
Za prvé, Nebylo by lepší použít &'static str místo Stringu ve struktuře? Proč ano nebo ne?
Za druhé, má nějaký smysl v tomto programu použít traits?
-
1. Urcite bych pouzil &'static str - v tomhle pripade jde o ergonomii a stejne s tim nic extra nedelas.
2. print_data() je pomerne neobvykly zpusob vypsani obsahu, tady je to rozhodne vhodnejsi resit nejakym traitem (formatovani je otazka), treba:
use std::fmt;
struct Animal {
name: &'static str,
sound: &'static str,
}
impl fmt::Display for Animal {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "Name: {}, Sound: {}", self.name, self.sound)
}
}
fn main() {
let cat = Animal {
name: "Cat",
sound: "Mňau!",
};
println!("{}", cat);
}