Files
rust/BasicSyntax/structtest/src/main.rs
2025-09-15 23:06:48 +08:00

55 lines
1.0 KiB
Rust

enum Class{
AC,
BC,
CC,
DC
}
struct Student{
name: String,
age: i64,
score: f32,
class: Class
}
trait Action{
//接口类
fn show_age(&self) -> i64 ;
fn show_class(&self);
}
impl Action for Student{
fn show_age(&self) -> i64 {
return self.age;
}
fn show_class(&self){
match self.class{
Class::AC => println!("Class A"),
Class::BC => println!("Class B"),
Class::CC => println!("Class C"),
Class::DC => println!("Class D"),
_ => println!("No Class!")
}
}
}
impl Student{
fn show_score(&self) -> f32 {
return self.score;
}
fn prt(&self){
println!("Name: {0}, Age: {1}, Score: {2}", self.name, self.age, self.score);
}
}
fn main() {
let s= Student{
name : "Van".to_string(),
age : 18,
score : 99.9,
class : Class::AC
};
println!("{}", s.show_score());
println!("{}", s.show_age());
s.prt();
}