Pau*_*erg 0 acronym rust rust-result
enum Result<T, E> {
Ok(T),
Err(E),
}
Run Code Online (Sandbox Code Playgroud)
我认为这些是占位符首字母缩略词。虽然E应该代表“错误”,但我不确定T代表什么。
它是一个通用名称约定牛逼YPE。
Rust 中的泛型类型通常以单个大写字母命名。该non_camel_case_types警告强制执行的名称以大写字母开头,但它只是一个警告,没有什么能够阻止你,否则它命名。
T 是最常见的字母,你会经常看到这个,项目真的不关心类型代表什么,但在特定情况下还有一些其他常用的字母如下:
如果类型是错误类型:E. 例子:
fn err(self) -> Option<E>
Run Code Online (Sandbox Code Playgroud)
如果类型是谓词:P. 例子:
fn filter<P>(self, predicate: P) -> Filter<Self, P>
where
P: FnMut(&Self::Item) -> bool,
Run Code Online (Sandbox Code Playgroud)
如果类型是一个功能类型:F,G,等。实施例:
std::iter::Iterator::for_each<F>(self, f: F)
where
F: FnMut(Self::Item)
Run Code Online (Sandbox Code Playgroud)
如果类型是泛型函数的返回类型:R. 例子:
fn with<F, R>(&'static self, f: F) -> R
where
F: FnOnce(&T) -> R,
Run Code Online (Sandbox Code Playgroud)
如果类型是某个映射中的键类型:K. 例子:
fn keys(&self) -> Keys<K, V>
Run Code Online (Sandbox Code Playgroud)
如果类型是某个映射中的值类型:V. 例子:
fn insert(&mut self, key: K, value: V) -> Option<V>
Run Code Online (Sandbox Code Playgroud)
impl<I> Clone for Fuse<I> where
I: Clone,
Run Code Online (Sandbox Code Playgroud)
fn chain<R: Read>(self, next: R) -> Chain<Self, R>
where
Self: Sized,
Run Code Online (Sandbox Code Playgroud)
struct BufWriter<W: Write> { /* fields omitted */ }
Run Code Online (Sandbox Code Playgroud)
如果该类型的实现ToSocketAddrs:A。例子:
fn connect<A: ToSocketAddrs>(addr: A) -> Result<TcpStream>
Run Code Online (Sandbox Code Playgroud)
如果类型是路径(即实现):. 例子:AsRef<Path>P
pub fn open<P: AsRef<Path>>(path: P) -> Result<File>
Run Code Online (Sandbox Code Playgroud)
一切:T,U,等。
| 归档时间: |
|
| 查看次数: |
174 次 |
| 最近记录: |