我想指定一个导入类的模板参数,这样我每次使用它时就不需要再指定。就像这样:
use self::binary_heap_plus::BinaryHeap<T,MinComparator> as BinaryMinHeap<T>;
这个可以吗?
use self::binary_heap_plus::BinaryHeap<T,MinComparator> as BinaryMinHeap<T>;
这个可以吗?
这是可能的吗?
是的,可以像以下方式实现:
pub type CustomResult<T> = Result<T, MyError>;
#[derive(Debug)]
pub enum MyError {
MyError1,
}
fn result_returner(prm: i32) -> CustomResult<i32> {
if prm == 1 {
Ok(5)
} else {
Err(MyError::MyError1)
}
}
同时,您也可以在导入时更改类型名称,例如:
use std::collections::HashMap as CustomNamedMap;
fn main() {
let mut my_map = CustomNamedMap::new();
my_map.insert(1, 2);
println!("Value: {:?}", my_map[&1]);
}
type BinaryMinHeap<T> = binary_heap_plus::BinaryHeap<T, binary_heap_plus::MinComparator>;
。我想答案是type
比use
更加强大。 - Henning Koehler