美文网首页
1.Rust新手教程-变量与常量

1.Rust新手教程-变量与常量

作者: 叶小七的真命天子 | 来源:发表于2022-11-23 18:49 被阅读0次

    学习笔记,仅此而已

    一、变量与可变性

    • 声明变量使用let关键字
    • 默认情况下,变量是不可变的
    • 如果希望变量可变,需要添加mut关键字

    1.1 默认不可变

    let name = "zhangsan";
    name = "lisi"; 
    

    上述代码编译会报错

    cannot assign twice to immutable variable `name`
    

    1.2支持可变,需要再声明变量的时候加上meut关键字

    let mut name = "zhangsan";
    name = "lisi"; 
    

    1.3可变的前提是其值跟初始化定义的类型保持相同,不相同则报错

    let mut name = "zhangsan";
    name = 111;  // 
    

    上述代码编译的时候会报错,标识类型不匹配。

     expected `&str`, found integer
    

    二、常量

    常量定义之后,其值是不可变的,但是其不可变与变量的不可变有区别:

    • 常量不能使用mut关键字,因为常量永远不可变
    • 声明常量必须使用const关键字,且必须标注类型
    • 命名规范:常量必须用全大写字母和下划线
    const MAX_POINTS: u32 = 100_000
    

    三、shadow(个人理解成变量的重载)

    • 1、rust支持对已经声明的变量进行重写/shadow,只需要重新定义相同变量即可

      let count = 3
      let count = count + 1
      println!("count value is {}", count);
      

      针对 mut声明的变量,也可以重写

      let mut count = 3;
      let count = count + 1;
      println!("count value is {}", count);
      
    • 2、 shadow支持将变量类型重新定义,而使用mut则不行

       let count = 3;
       let count = "count";
       println!("count value is {}", count);
      

    四、最后

    变量名定义:多个单词,推荐使用下划线。

    相关文章

      网友评论

          本文标题:1.Rust新手教程-变量与常量

          本文链接:https://www.haomeiwen.com/subject/nwfaxdtx.html