3.type关键字.rs
生活随笔
收集整理的這篇文章主要介紹了
3.type关键字.rs
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
/*
你可以使用 type 關鍵字聲明另一類型的別名(用法和C++一樣一樣的)
類型別名:type aliases
type Name = String;type 也可以用來聲明trait的關聯類型,詳細請看“特性trait”章節更多詳細信息請看:
https://github.com/rooat/RustLearn/blob/master/src/ch19-04-advanced-types.md
*/fn test_1() {type Name = String;let x: Name = "Hello".to_string();println!("{}", x);
}//但是請注意,這是一個別名,不完全是一個新類型。換句話說,因為 Rust 是強類型的,所以你不能比較兩個不同類型
fn test_2() {type Name1 = i32;type Name2 = i32;let x1: Name1 = 36;let x2: Name2 = 34;if x1 == x2 {println!("same value");} else {println!("not same value");}
}/*
你還可以使用泛型類型別名:
use std::result;
enum ConcreteError {
Foo,
Bar,
}
type Result<T> = result::Result<T, ConcreteError>;
這將創建一個 Result 類型的專門的版本 ,它總是有一個針對 Result< T E > 的 E 部分的 ConcreteError 。
這常被用在標準庫來為每一部分創建自定義錯誤。例如,io::Result 。
*/
fn test_3() {use std::result;enum ConcreteError {Foo,Bar,}type Result<T> = result::Result<T, ConcreteError>;
}fn main() {test_1();test_2();test_3();
}
?
總結
以上是生活随笔為你收集整理的3.type关键字.rs的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2.static关键字.rs
- 下一篇: 4.extern关键字.rs