Rust 中的闭包、泛型与线程深入探讨
闭包相关思考
有一段代码运行后会打印多次调用 .change_city_data() 的结果,如 [(1372, 3250), (1834, 15300), (1897, 58800)] ,之后会删除位置 1 的 1834,剩余年份和人口数据也会展示出来。这是一个不错的实验示例,你可以尝试将 change_city_data() 内的闭包修改为获取 self ( City 结构体)的可变引用,而不是两个参数。需要思考如何修改签名,以及为了让代码再次编译,其余代码需要做哪些更改。
impl Trait 泛型
Rust 除了常见的泛型使用方式,还有 impl Trait 这种泛型用法。下面来详细了解 impl Trait 与常规泛型的区别。
- 常规泛型与 impl Trait 的对比
- 先看一个简单的比较两个数字大小的函数:
fn print_maximum(one: i32, two: i32) {
let higher = if one > two { one } else { two };
println!("{higher} is higher");
}
fn main() {
print_maximum(8, 10);
}
订阅专栏 解锁全文
28

被折叠的 条评论
为什么被折叠?



