在Rust里,我们一般倾向于为一个具体的类型实现实现trait,然而,还有一种鲜为人知的写法,为泛型实现trait。分为trait object和带有trait constraint的泛型参数两种
-
posts
-
Impl trait object/bound
-
Shared vs immutable references
mut a: &T和a: &mut T这两个东西看起来挺像,只不过是
mut
的位置相反而已,然而意义却是天壤之别。 -
Closure in Rust
Rust对函数式编程有着非常良好的支持,从闭包这一特性就能看出来,它不仅实现了经典的功能和语义,还派生出
Fn
,FnOnce
,FnMut
这几个trait帮助我们处理变量的所有权和引用的问题。 然而在这里,要重述一个事实,以防读者把在学习其他语言时产生的偏见带入Rust:闭包不等于匿名函数,它的正式定义为 -
Rust: String vs &str
当你开始第一次学习Rust的时候,不知不觉中就会开始对
String
类型感到困惑,并与编译器斗智斗勇:),通常你会认为那应该是一个string吧,结果一编译就会Boom~。 所以这是一篇阐述Rust中String, &String, str 和 &str的区别和联系的博文。