Rust Safe Coding Notes

  1. 关键计算部门要用防溢出的计算函数,如例:


fn main() { let i = 100_ i8; println!(" checked {:?}", i. checked_ add( i)); println!(" saturating {:?}", i. saturating_ add( i)); println!(" wrapping {:?}", i. wrapping_ add( i)); }

     2.str与string的区别,str是[u8]类型,[T]这种类型是编译器语义不定长的数组,但执行器具体一个数组的大小不可变,String属于容器类型,属于执行期可以扩充内存空间的类型,其本身是在堆中申请的,而前者数组实际还是在栈中存在的。str通过&str借用转换为编译器大小可确认类型。

原文地址:https://www.cnblogs.com/dhcn/p/14277082.html