作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下基于枚举的实现。我不知道我现在应该如何存储和访问我的值。
这是实现:
pub enum Baz {
// My data structure has a string and a number
Foo(String),
Bar(u64),
}
impl Baz {
pub fn get(baz: Baz) -> String {
let mut result = "".to_string();
match baz {
Baz::Foo(v) => {},
Baz::Bar(v) => { result = v.to_string() },
}
result
}
pub fn new() {
// Do I even need new() for instance creation?!
println!("Hello World");
}
}
这是我访问它的方式:
mod bazbazbaz;
use bazbazbaz::baz;
fn main() {
let x: data::Baz;
x::Foo("mystring".to_string());
x::Bar(42);
x.get(Baz::Bar); // I expect "42" here as string
}
这只是一个语法错误,还是我误解了这个概念?
最佳答案
以某种方式构造您的数据,而枚举提供枚举关于如何构造数据的选择。
struct Baz {
foo: String,
bar: u64
}
它包含一个String
和一个u64
。
enum Baz {
Foo(String),
Bar(u64),
}
这包含一个 String
或 u64
。
关于rust - 如何基于枚举从 impl 存储和访问?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49539321/
我是一名优秀的程序员,十分优秀!