rust常量和变量

const A: u32 = 10_000;
fn main() {
    let mut a = 5;
    println!("{}", a);
    a = 8;
    println!("{}", a);
    println!("{}", A);
}

一、常量;

1.常量命名:大写。

2.常量可以在任何作用域内进行声明,包括全局作用域;

3.常量必须标明类型,使用const关键字;
4.常量永远不可变;
5.常量只可以绑定到常量表达式,无法绑定到函数的调用结果或者只能在运行时才能计算出的值。
6、在程序运行期间,常量在其声明的作用域内一直有效。
二、变量
不可变变量  let 
可变变量  let mut

let 变量名称:u32=变量值;
隐藏:shadowing  let  x=1;let x=x+1;let x=x*2;
可以使用相同的名字声明新的变量,新的变量就会shadow(隐藏)之前声明的同名变量。
注意:let和let mut是不一样的。
1.如果不使用let关键字,那么重新给非mut的变量赋值会导致编译时错误。
2.使用let声明的同名新变量,它的类型可以与之前不同。

 

// const A: u32 = 10_000;
fn main() {
    let mut x = 1;
    // x = x + 1;
    x += 1;
    println!("{}", x);
}

  或者

fn main() {
    //演示为可变变量的重新赋值,会改变变量的值。演示变量隐藏 shadowing
    let spaces = "        ";
    // let spsces = spaces.len();
    // spaces = spaces.len();
    let spaces = spaces.len();
    println!("spaces: {}", spaces);

    let spaces_str = "        ";
    let spaces_num = spaces_str.len();
    println!("spaces_num: {}", spaces_num);

    //可变变量的重新赋值
    let mut spaces = 5;
    spaces = 10;
    println!("spaces: {}", spaces);
}

1.如果不使用let关键字,那么重新给非mut变量赋值会导致编译错误。
2.使用let声明的同名新变量,也是不可变的;
3.使用let声明的同名新变量,它的类型可以与之前的不同。
parse方法和expect方法

posted @ 2026-08-12 14:56  华腾智算  阅读(2)  评论(0)    收藏  举报
https://damo.alibaba.com/ https://tianchi.aliyun.com/course?spm=5176.21206777.J_3941670930.5.87dc17c9BZNvLL