读Rust程序设计语言 - 03

语言/Rust

变量与可变性 - Rust 程序设计语言 简体中文版

变量和可变性

  • 在rust中变量是默认不可变的
  • 不能对不可变变量进行二次复制(cannot passing twice to immutable variable)
pub fn immutable_var() {
    let x = 5;
    // 这里会报错
    // x = 6; 
    // {:?} 美化打印代码
    println!("the immutable var of x is: {:?}", x) 
}

pub fn var() {
    let mut x = 5;
    x = 6;
    println!("the var of x is :{:?}",x)
}pub fn shadowing() {
    // 这里在运行的时候会报警告⚠️
    let x = 1;
    let x = "1";
    // 强转&str为u32
    let x = 2 * x.to_string().parse::().unwrap();
    println!("shadowing x is :{:?}", x)
}

变量和常量

  • 常量使用 const 声明
pub fn constant() {
    // 常量强制定义类型
    const x: u8 = 1;
    // 此处会报错
    // x = 2;
    println!("{}", x)
}

重复声明同一个变量会更新变量(隐藏)

  • 重复声明变量在rust称为变量隐藏
pub fn shadowing() {
    // 这里在运行的时候会报警告⚠️
    let x = 1;
    let x = "1";
    // 强转&str为u32
    let x = 2 * x.to_string().parse::().unwrap();
    println!("shadowing x is :{:?}", x);
    
    // 隐藏
    let spaces = "    ";
    let spaces = spaces.len();
    println!("the spaces length:{}",spaces);
    
    // 这样会报错
    let mut spaces = "";
    // spaces = spaces.len()
}

  • 使用的好处 不需要另外命名

你可能感兴趣的:(读Rust程序设计语言 - 03)