【自学笔记】Rust语言基础知识点总览-持续更新

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录


Rust语言基础知识点总览

1. 变量与数据类型

变量声明

Rust中的变量通过let关键字声明,且默认是不可变的。使用mut关键字可以声明可变变量。

rust 复制代码
let x = 5;        // 不可变变量
let mut y = 10;   // 可变变量
y = 20;           // 修改可变变量的值

数据类型

Rust是静态类型语言,常见的数据类型包括整数、浮点数、布尔值、字符和字符串等。

rust 复制代码
let a: i32 = 42;      // 32位有符号整数
let b: f64 = 3.14;    // 64位浮点数
let is_true: bool = true;
let ch: char = 'A';
let str: &str = "Hello, Rust!";

2. 函数

定义函数

Rust中的函数使用fn关键字定义。

rust 复制代码
fn greet(name: &str) -> String {
    format!("Hello, {}!", name)
}

fn main() {
    let message = greet("World");
    println!("{}", message);  // 输出: Hello, World!
}

控制流

Rust支持ifelse ifelseloopwhilefor等控制流语句。

rust 复制代码
fn main() {
    let number = 4;

    if number % 2 == 0 {
        println!("{} is even", number);
    } else {
        println!("{} is odd", number);
    }

    for i in 1..=5 {
        println!("{}", i);
    }
}

3. 结构体与枚举

结构体

结构体是用户定义的数据类型,可以包含多个字段。

rust 复制代码
struct Person {
    name: String,
    age: u32,
}

fn main() {
    let person = Person {
        name: String::from("Alice"),
        age: 30,
    };

    println!("Name: {}, Age: {}", person.name, person.age);
}

枚举

枚举用于表示一组可能的值。

rust 复制代码
enum IpAddr {
    V4(String),
    V6(String),
}

fn main() {
    let home = IpAddr::V4(String::from("127.0.0.1"));
    let loopback = IpAddr::V6(String::from("::1"));

    match home {
        IpAddr::V4(address) => println!("IPv4 address: {}", address),
        IpAddr::V6(address) => println!("IPv6 address: {}", address),
    }
}

4. 模块与包

模块

模块用于组织代码,避免命名冲突。

rust 复制代码
mod math {
    fn add(a: i32, b: i32) -> i32 {
        a + b
    }

    pub fn subtract(a: i32, b: i32) -> i32 {
        a - b
    }
}

fn main() {
    println!("10 - 5 = {}", math::subtract(10, 5));
}

包是Rust项目的构建块,使用Cargo管理。

5. 错误处理

Result类型

Rust使用Result枚举来处理可能的错误。

rust 复制代码
use std::fs::File;

fn read_file(filename: &str) -> Result<String, std::io::Error> {
    let mut file = File::open(filename)?;
    let mut contents = String::new();
    file.read_to_string(&mut contents)?;
    Ok(contents)
}

fn main() {
    match read_file("example.txt") {
        Ok(contents) => println!("File contents: {}", contents),
        Err(e) => println!("Error: {}", e),
    }
}

总结

提示:这里对文章进行总结:

例如:以上就是今天要讲的内容,自学记录Rust语言基础知识点总览。

相关推荐
Cherry Zack8 分钟前
FastAPI 入门指南 :基础概念与核心特性
开发语言·python·fastapi·1024程序员节
蒙奇D索大39 分钟前
【数据结构】数据结构核心考点:AVL树删除操作详解(附平衡旋转实例)
数据结构·笔记·考研·学习方法·改行学it·1024程序员节
开心-开心急了40 分钟前
Flask入门教程——李辉 第5章: 数据库 关键知识梳理
笔记·后端·python·flask·1024程序员节
没有bug.的程序员1 小时前
Spring Boot 起步:自动装配的魔法
java·开发语言·spring boot·后端·spring·1024程序员节
面向星辰2 小时前
windows配置hadoop环境
java·开发语言
Elieal3 小时前
Java的Collection 集合体系详解
java·开发语言
charlie1145141913 小时前
HTML 理论笔记
开发语言·前端·笔记·学习·html·1024程序员节
郝学胜-神的一滴3 小时前
Linux中的`fork`函数详解:深入解析
linux·服务器·开发语言·c++·算法
曾凡宇先生4 小时前
无法远程连接 MySQL
android·开发语言·数据库·sql·tcp/ip·mysql·adb
Q一件事5 小时前
R语言随机森林分析显示R方和P值
开发语言·随机森林·r语言