rust小结

rust有一些有别于其他语言的地方,本文作为一个集子,收集一些微小的,在ruts中应该是常识的,但是在其他语言中却很怪异的语法

let coll = vec![2,3,1,1,1];

    for i in coll{
        println!("coll:{}",coll[i]);
    }

这段代码coll[i]是各coll[2],coll[3]...但是会报错,因为for in迭代器已经借用了coll

vec!声明出来的应该是一个结构体

![Uploading Paste_Image_056474.png . . .]
rust的闭包对它所在环境的变量构成一个引用,(如果它用了这个变量的话),尽管没有以&的形式去引用,实际上它是构成了一个隐含的不可变引用

rust想要执行的闭包都是可变变量声明的

move闭包会使用移动语义而不是借用

move语义会把栈上的数据进行移动 如果栈里的数据含有指针(外部数据),那么指针会整个被move走,而不是共享一份,即便是你只是读取(应该使用引用)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容