代码点读机 / Rust / where

where Rust · 关键字

给泛型参数附加约束条件,让约束集中写在签名后面,复杂约束时更易读。

怎么用

fn 函数名<T>(...) where T: Trait { ... }

小例子

use std::fmt::Display;
fn 展示<T: Display>(x: T) {
    println!("{}", x);
}
展示(42);

运行结果

42

提醒:where 和 <> 里的约束等价;约束多时用 where 更清晰

官方文档:https://doc.rust-lang.org/reference/items/generics.html#where-clauses

在代码里遇到不认识的词?打开代码点读机,点一下就懂 → ← Rust全部词条