• 田云
    2021-06-05
    感觉理论性太强了,希望多一些实际应用和例子,看到现在一直在感觉念 ppt 的感觉。
    共 3 条评论
    11
  • 蓝士钦
    2020-09-26
    Rust语言通过mut 实现可变引用,每次只允许有一个可变引用,相当于实现了“锁”,比其他语言的显示锁更加高效。 这种安全机制仅限于单个进程内,如果用Rust开发Web应用,对于分布式应用的场景仅通过mut是不够的,必须使用分布式锁,关于分布式并发和其他语言没什么差别,都要自己实现数据锁。
    共 1 条评论
    3
  • Marvichov
    2021-03-01
    英文文档 https://doc.rust-lang.org/reference/expressions.html#place-expressions-and-value-expressions
    
    1
  • 万正宇
    2022-04-23
    --006 #![allow(unused)]//宏语句 use std::collections::HashMap;//声明语句 /** 1.除了声明,一切都是表达式,都是类型 2.一致性地返回单元类型,其并无实际意义 3.宏语句(文本替换,生成指定代码) */ fn main() {//块表达式 let mut res = HashMap::new(); res.insert("res",555); println!("res={:?}", res["res"]); ; //连接 { (); //返回空元组 } &{ ; //返回单元值类型 UnitType 的引用 } ; //返回单元值类型 ; -> () } --007 /** 1.常量函数 const fn,常量泛型 const generic;在编译期计算 (编译期执行常量表达式) 2.常量传播优化 const propagation (编译期优化替换) 3.特性门已被删除 */ #[derive(Debug)] pub struct ArrVec<T, const N: usize> { items: [T; N], length: usize, } impl<T, const N: usize> ArrVec<T, {N}> { pub const fn new() -> ArrVec<T, {N}> { //泛型常量函数 ArrVec { items: [T; N], length: 0, } } #[inline] //内联优化 pub const fn capacity(&self) -> usize { N } } #![feature(array_chunks)] fn main() { arr.array_chunks().map(|&[x,y,z] | x*y*z).sum::<i32>(); //闭包?? assert_eq!(...); } --008 /** 1. let绑定 位置表达式(内存地址) = 值表达式 ; 2. static mut LEVEL: u8 = 0; //静态变量初始化 3. struct A { name: &'static str, } 4. vec![1, 2, 3].push(&mut self, 4); 5. copy语义,复制 6. move语义,转移栈上的指针 7. &mut answer; //内存锁 //每个内存位置,只允许有唯一的绑定 //独占引用 8. *const T & *mut T //Unsafe Rust, 操作原始指针 */
    展开
    
    
  • Geek_9ab0d8
    2022-02-19
    let mut anwser=42; let r=&mut anwser; *r=43; //println!("{:?},{:?}",anwser, r);// 为什么这样写会报错 println!("{:?}",anwser);//正确 anwser=5;//重新给anwser赋值时,r地址就无效了? //println!("{:?}",r);//为什么访问不了r println!("{:?}",anwser);//正确
    共 1 条评论
    
  • Geek_9ab0d8
    2022-02-19
    let mut anwser=42; let r=&mut anwser; *r=43; println!("{:?},{:?}",anwser, r);// 为什么这样写会报:cannot borrow `anwser` as immutable because it is also borrowed as mutable
    
    
  • 情诗和你
    2021-01-17
    变量遮蔽后,相同的变量还是指向同一块内存区域吗? let answer = 1; let answer = “asdasdads”; 如果遮蔽后的 answer 指向新的内存区域,那原来的内存块不就没有使用到了吗?
    共 2 条评论
    
  • 米斯特菠萝
    2020-09-28
    Rust没有BigDecimal类型吗? 0.1 + 0.2 = 0.30000000000000004 这样的浮点数精度问题还是和JS一样呀
    共 3 条评论
    
  • 神 一生有你
    2020-09-27
    aes加密,当内容长度过长,需要字节数组分段加密,最后的数组长度是按内容动态大小的,其它语言都是定义byte[] b=new byte[N],N是动态算出来的,rust搞不了,只能vec来用
    共 1 条评论
    
  • 史双龙
    2020-09-24
    老师您好!如果需要变化的话推荐使用哪种方式mut修饰符还是变量遮蔽,这两种方式分别适用哪种情况?
    共 3 条评论
    