温馨提示×

Rust中的const和static关键字有什么区别

小亿
106
2024-04-10 19:10:05
栏目: 编程语言

在Rust中,conststatic关键字都用于声明常量,但它们有一些区别:

  1. const关键字用于声明编译时常量(compile-time constant),这意味着该常量的值在编译时就已经确定,并且无法被修改。const常量可以在任何作用域中定义,包括函数作用域、模块作用域等。
const MY_CONST: i32 = 100;
  1. static关键字用于声明静态变量(static variable),静态变量在程序整个运行周期内都是存在的,并且只有一个实例。静态变量的值在程序运行时才被初始化,可以被修改。静态变量必须指定类型,并且必须在全局作用域中定义。
static mut MY_STATIC: i32 = 0;
  1. static变量是全局的,可以被多个线程访问,因此如果要在多线程中访问和修改变量,需要使用static关键字声明。

总而言之,const用于声明编译时常量,而static用于声明运行时静态变量。

0