发布于2026-06-29 阅读(0)
扫一扫,手机访问
在Linux上搞Rust开发,第一步当然是把工具链安排上。Rust官方推荐用 rustup 来管理工具链——它包含了编译器 rustc、包管理器 Cargo 等一整套东西。直接在终端跑下面这行命令就行:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
装完之后,要么重启终端,要么手动跑一下 source $HOME/.cargo/env 让环境变量生效。然后验证一下:执行 rustc --version 和 cargo --version,如果都能看到版本号,说明环境已经就绪。
写代码光有编译器还不够,趁手的编辑器能让效率翻倍。推荐 VS Code 加上 Rust Analyzer 插件,具体步骤很简单:
rustup component add rustfmt,之后写代码就能自动排版,看着舒服很多。Rust 里的变量默认是“不可变”的——这设计其实是为了防止你手滑改错数据。用 let 声明变量,如果要让它可变,得加个 mut 关键字:
let x = 5; // 不可变变量
let mut y = 10; // 可变变量
y = 20; // 合法:可变变量可以重新赋值
// x = 30; // 错误:不可变变量不能修改
常量用 const 声明,必须显式指定类型,而且值必须在编译时就确定:
const MAX_SCORE: u32 = 1000; // 常量
println!("Max score: {}", MAX_SCORE);
还有一个很实用的特性叫“遮蔽”(Shadowing):在同一作用域里,你可以重新声明同名变量,新变量会覆盖旧的。这在做类型转换或数据清洗时特别好用:
let x = 5;
let x = x + 1; // x 现在是 6
let x = x * 2; // x 现在是 12
i8/u8(8位有符号/无符号)、i32/u32(32位)、isize/usize(跟系统架构有关,通常用于数组索引);f32(单精度)、f64(双精度,默认就是它);bool,只有 true 和 false;char,占4个字节,支持 Unicode,用单引号包裹。. 下标访问,也能解构:let tup: (i32, f64, char) = (42, 3.14, 'a');
let (x, y, z) = tup; // 解构
println!("x={}, y={}, z={}", x, y, z);
let arr: [i32; 3] = [1, 2, 3]; // 长度为3的i32数组
println!("First element: {}", arr[0]); // 索引从0开始
用 fn 关键字定义函数,参数和返回值都要显式声明类型。注意:函数的返回值是最后一个表达式(后面不带分号),它会隐式返回:
fn greet(name: &str) { // 无返回值(返回Unit类型 `()`)
println!("Hello, {}!", name);
}
fn add(a: i32, b: i32) -> i32 { // 返回i32类型
a + b // 无分号,隐式返回
}
调用的时候很直接:greet("Alice");、let sum = add(5, 10);。
if 后面的条件不用加括号,但代码块必须用 {} 包裹。而且 if 还能当作表达式使用:
let number = 7;
if number > 5 {
println!("Greater than 5");
} else if number == 5 {
println!("Equal to 5");
} else {
println!("Less than 5");
}
// if 作为表达式
let result = if number > 0 { 10 } else { 20 };
println!("Result: {}", result);
loop:无限循环,需要用 break 手动退出;while:条件为真时循环执行;for:遍历集合(比如数组、范围),比 while 更安全,不会越界。// loop
let mut count = 0;
loop {
println!("Loop: {}", count);
count += 1;
if count >= 3 { break; }
}
// while
let mut num = 3;
while num > 0 {
println!("While: {}", num);
num -= 1;
}
// for
let arr = [10, 20, 30];
for element in arr.iter() { // 使用iter()避免所有权问题
println!("For: {}", element);
}
Cargo 是 Rust 的包管理和构建工具,用它创建项目非常省事:
cargo new hello_rust # 创建名为hello_rust的项目
cd hello_rust # 进入项目目录
项目结构是这样的:
hello_rust/
├── Cargo.toml # 项目配置文件(依赖、元数据)
└── src/
└── main.rs # 主入口文件(默认生成了Hello World代码)
编辑 src/main.rs,把代码改成你想输出的内容,比如:
fn main() {
println!("Hello, Rust!");
}
然后直接运行:
cargo run # 编译并运行(自动生成可执行文件)
你会看到输出:
Hello, Rust!
如果想分开编译和运行,也可以:先 cargo build 生成 target/debug/hello_rust,然后再 ./target/debug/hello_rust 手动执行。
基础语法掌握之后,想深入的话,可以往这几个方向使劲:
String 和 &str 的区别——这几乎是 Rust 的灵魂所在;std::thread 模块写多线程,或者上 tokio 异步运行时,体验一下 Rust 的零成本抽象;std::net 模块实现 TCP/UDP 服务器或客户端,写个简单的聊天程序练练手;clippy 做代码检查、rustfmt 做格式化、cargo test 做单元测试——这些工具能帮你写出更规范、更健壮的代码。上一篇:Rust如何提升Linux安全性
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8