美文网首页
Rust 变量与可变性

Rust 变量与可变性

作者: RoyLin1996 | 来源:发表于2019-11-02 09:31 被阅读0次

不可变变量

在 Rust 中变量默认是不可变的
使用 let 定义 x = 5, 然后将 6 赋值给 x,这样是不能通过编译的。

src/main.rs

fn main() {
    let x = 5;
    x = 6;
}

执行 rustc main.rs 会得到如下错误:

error[E0384]: cannot assign twice to immutable variable `x`
 --> main.rs:3:5
  |
2 |     let x = 5;
  |         -
  |         |
  |         first assignment to `x`
  |         help: make this binding mutable: `mut x`
3 |     x = 6;
  |     ^^^^^ cannot assign twice to immutable variable

error: aborting due to previous error

For more information about this error, try `rustc --explain E0384`.

遮蔽 (shadowing)

可以再次使用 let 遮蔽同名变量

src/main.rs

fn main() {
    let x = 5;
    let x = 6;
    let x = "";
}

可变变量

要声明可变变量则需要使用 mut 关键字

fn main() {
    let mut x = 5;
    x = 6;
}

常量

使用 const 关键字可以声明常量

fn main() {
    const MAX_POINTS: u32 = 100_000;
}

不可变变量和常量的区别如下:

  • 常量必须指定类型
  • 常量不能和 mut 关键字一起使用
  • 常量不能被遮蔽

相关文章

  • 读Rust程序设计语言 - 03

    语言/Rust 变量与可变性 - Rust 程序设计语言 简体中文版 变量和可变性 在rust中变量是默认不可变的...

  • rust学习总结-2

    声明变量 let 可变性 默认不可变mut 修饰可变 变量遮蔽(shadowing) Rust 允许声明相同的变量...

  • Rust 变量与可变性

    不可变变量 在 Rust 中变量默认是不可变的使用 let 定义 x = 5, 然后将 6 赋值给 x,这样是不能...

  • Rust基础学习-03-变量常量和基本数据类型

    这里来聊一下Rust的变量声明,以及基本的数据类型。 可变性 与其他编程语言很不同的一点是,Rust 的变量默认是...

  • Rust 常量、变量与可变性

    常量是用const来定义 变量是用let来定义 在变量中又分为不可变变量跟可变变量,区别如下 隐藏 -----修改...

  • The Rust programming language 读书

    一、变量 Rust 中的变量默认是不可变的。 可以通过如下代码测试变量的不可变性: 使用 cargo new va...

  • 【rust学习】常见的编程概念

    一、变量和可变性 变量默认是不可改变的(immutable)。这是 Rust 提供给你的众多优势之一,让你得以充分...

  • Rust内部可变性之RefCell

    背景 在Rust中,每个对象(变量)的可见性与可变性均受到所有权的限制,一个对象只能有一个所有者。这个限制对于内存...

  • Rust 学习笔记 - 变量绑定

    变量绑定是指将一些值绑定到一个名字上,这样可以在之后使用他们。Rust 中使用 let 声明一个绑定: 可变性 绑...

  • 【RUST_BASIC】Rust 基本概念

    1 变量与常量 使用 let 关键字声明变量,变量名后面为变量类型: Rust 是静态类型(statically ...

网友评论

      本文标题:Rust 变量与可变性

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