(done) 速通 rustlings(7) 全局变量/常量

RUST 中,let 不能用于声明全局变量

全局常量必须显示声明类型

rust 复制代码
// The type of constants must always be annotated.
const NUMBER: u64 = 3;

fn main() {
    println!("Number: {NUMBER}");
}

另一种全局 "常量" 声明方式是使用 static,默认只读。

若使用 static mut,则是可变全局变量,由于可变全局变量容易造成别名/并发问题,必须使用 unsafe 块访问。

rust 复制代码
static GREETING: &str = "hello";       // 只读全局
static mut COUNTER: i32 = 0;           // 可变全局,需要 unsafe

fn incr() {
    unsafe {
        COUNTER += 1;                  // 修改时要显式不安全
    }
}

fn main() {
    println!("{GREETING}");
    unsafe { println!("count = {COUNTER}"); }
    incr();
}

使用 static 声明的全局常量和使用 const 声明的全局常量区别如下:

相关推荐
数据法师7 小时前
MotrixNext:接棒经典 Motrix,用 Tauri 2+Rust 重构的下一代开源下载神器
重构·rust·开源
卡卡军8 小时前
agmd 1.0 重磅升级——Rust 重写,性能起飞
javascript·rust
codealy15 小时前
Rust 核心理论: 高并发与异步(三)
算法·rust
咸甜适中16 小时前
rust语言学习笔记Trait(七) IntoIterator(由集合创建迭代器)
笔记·学习·rust
本地化文档16 小时前
rust-style-guide-l10n
rust·github·gitcode
樱桃花下的小猫17 小时前
腐蚀Rust-EAC 及官方验证关闭教程
服务器·rust·云鸢互联·零门槛一键开服·腐蚀rust服务器
咸甜适中18 小时前
rust语言学习笔记Trait(六) FromIterator(由迭代器创建集合)
笔记·学习·rust
小杍随笔19 小时前
【Rust + Tauri 2 + TypeScript + Tailwind CSS 4 桌面应用 UI 组件选型深度对比(2026版)】
css·rust·typescript
iuyup1 天前
深度解析 OpenHuman:开源个人 AI 超级智能的 Memory 架构设计
人工智能·rust