5
Q
基本類型生鏽枚舉
A
回答
10
(這個答案是0.9)
這不是做你完全認爲它在做什麼。它創建一個enum A
,其變體命名爲f64
和i32
,不使用這些類型。由於類型和其他(變量等)共享不同的命名空間,你可能不會注意到。使用原始枚舉的例子:
enum A {
f64,
i32
}
fn main() {
let x: A = f64;
let y: A = i32;
match x {
f64 => println!("got f64"),
i32 => println!("got i32")
}
}
要真正包裹值的那些類型的,你需要使用「元組樣變體」:
enum A {
Float(f64),
Int(i32)
}
fn main() {
let x: A = Float(42.0);
let y: A = Int(7);
match x {
Float(value) => println!("got Float({})", value),
Int(value) => println!("got Int({})", value)
}
}
3
你沒有做你所期望的,檢查這個輸出:
enum A {
f64,
i32
}
fn main() {
let x:A = f64;
let y:A = i32;
println!("{}, {}", x as int, y as int);
}
f64
和i32
剛剛枚舉的變種,就像任何其他名稱的常量。這樣,它的工作更像C枚舉而不是C工會。
相關問題
- 1. 枚舉派生類型
- 2. 枚舉恆定值鏽
- 3. 派生類的基類枚舉值?
- 4. 類型枚舉
- 5. 基於枚舉創建枚舉類別
- 6. C#:基於不同枚舉類型的枚舉值返回枚舉值
- 7. 壓倒一切的枚舉基類型
- 8. 字符的.NET枚舉基類型
- 9. 自定義枚舉基礎類型
- 10. 轉換成枚舉基礎類型
- 11. 非整數基礎類型,枚舉
- 12. 如何用生鏽的宏生成複雜的枚舉變體
- 13. 枚舉的基本類型與正常型
- 14. 生成基地枚舉int
- 15. Ç枚舉(枚舉類型定義)的
- 16. 枚舉vs強類型枚舉
- 17. 枚舉拋出「不是枚舉類型」
- 18. Node.js native枚舉中的枚舉類型
- 19. 上枚舉類型
- 20. HTML5枚舉類型
- 21. 爲枚舉類型
- 22. 枚舉或類型
- 23. psycopg2枚舉類型
- 24. 如何實現基本的枚舉類?
- 25. Java類枚舉枚舉類
- 26. 使用常量或枚舉基本類型
- 27. 強類型枚舉中範圍解析的基本原理
- 28. 是否需要將基本類型輸入到枚舉?
- 29. 具有泛型類型的泛型枚舉枚舉
- 30. 枚舉類型佈局是否與其基礎類型兼容?