У меня есть реализация в Rust следующим образом.В основной функции я читаю значение в SalaryRange
enum, и это отобразит High("So High")
.
// This can be a complex type, just using string for the question
type SRange = String;
type SalEnu = SalaryRange<SRange>;
struct User<SRange> {
username: String,
email: String,
sign_in_count: u64,
active: bool,
income: Income<SRange>,
}
struct Income<SRange> {
salary_range: SalaryRange<SRange>
}
#[derive(Debug)]
enum SalaryRange<SRange> {
Low(SRange),
Mid(SRange),
High(SRange),
}
fn main() {
let user1 = User {
email: String::from("test@email.com"),
username: String::from("test_name"),
active: true,
sign_in_count: 1,
income: Income {
salary_range: (
SalaryRange::High("So High")
)
},
};
let mut srange: SalaryRange<&str> = user1.income.salary_range;
println!("{:?}", srange);
}
Ссылку для этого примера можно найти здесь.
Просто хотел узнать, есть ли возможность прочитать и распечатать значение в этом перечислении как println!("{:?}", srange::High);
, просто чтобы распечатать строковое значение?Я только хочу напечатать значение So High
.
Если я использую srange::High
Это выдаст сообщение об ошибке
println!("{:?}", srange::High);
| ^^^^^^ use of undeclared type or module `srange`
error: aborting due to previous error