rustのtraitとは

traitとは構造体に共通のメソッドを実装したい時に利用する

trait Animal {
	fn get_name(&self) -> &String;

	fn get_age(&self) -> usize {
		return 0;
	}
}

struct Cat {
	name: String,
	age: usize,
}

impl Animal for Cat {
	fn get_name(&self) -> &String {
		return &self.name;
	}
}

const cat = Cat {
	name:String::from("Tama"),
	age: 20,
};
println!("{}", cat.get_name());

他の言語のインターフェイス