好的,以下是一本Rust教程学习笔记的Markdown文档,其中包含了Rust语言的基本概念、语法和示例代码。
Rust 教程学习笔记
简介
Rust是一种由Mozilla开发的系统编程语言,它强调安全性、并发性和速度。它采用了现代化的内存管理技术,并提供了许多高级抽象概念,使得编写高性能的系统软件更加容易。
安装
在开始学习Rust之前,你需要先安装Rust编译器。你可以通过访问Rust官网来下载最新版本的Rust编译器。
基本概念
变量和常量
在Rust中,变量必须显式地声明类型,而常量则必须在声明时初始化,并且不能被修改。以下是一个Rust程序中变量和常量的声明示例:
rustCopy Codefn main() {
let x: i32 = 42;
const PI: f32 = 3.14159265359;
}
函数
在Rust中,函数通过fn
关键字来声明。函数可以有多个参数,并且可以返回一个值。以下是一个简单的Rust函数实现示例:
rustCopy Codefn add(x: i32, y: i32) -> i32 {
x + y
}
控制流
Rust支持常见的控制流语句,如if-else、while循环和for循环。以下是一个简单的if-else语句实现示例:
rustCopy Codefn check_number(x: i32) {
if x > 0 {
println!("{} is positive", x);
} else if x < 0 {
println!("{} is negative", x);
} else {
println!("{} is zero", x);
}
}
特性
Rust中的特性类似于其它语言中的接口或抽象类,它可以定义一组方法,并由其他类型来实现这些方法。以下是一个简单的Rust特性实现示例:
rustCopy Codetrait Printable {
fn print(&self);
}
struct Person {
name: String,
age: u8,
}
impl Printable for Person {
fn print(&self) {
println!("Name: {}, Age: {}", self.name, self.age);
}
}
结构体和枚举
Rust中的结构体和枚举类似于其它语言中的类,它们可以用于组织数据并定义行为。以下是一个简单的Rust结构体和枚举实现示例:
rustCopy Codeenum Coin {
Penny,
Nickel,
Dime,
Quarter,
}
struct Wallet {
coins: Vec<Coin>,
}
impl Wallet {
fn new() -> Wallet {
Wallet { coins: vec![] }
}
fn add_coin(&mut self, coin: Coin) {
self.coins.push(coin);
}
fn count_coins(&self) -> usize {
self.coins.len()
}
}
实例
以下是一个简单的Rust程序实现,它可以读取一个文件中的数字并计算它们的和。你可以将下面的代码保存为main.rs
文件,然后在命令行中使用cargo run
来编译和运行它。
rustCopy Codeuse std::fs::File;
use std::io::{BufRead, BufReader};
fn main() {
let filename = "numbers.txt";
let file = File::open(filename).unwrap();
let reader = BufReader::new(file);
let mut sum = 0;
for line in reader.lines() {
let num: i32 = line.unwrap().parse().unwrap();
sum += num;
}
println!("Sum of numbers in {} is {}", filename, sum);
}
以上就是Rust教程学习笔记的Markdown文档。希望这份笔记对你有所帮助!