# rust_learn **Repository Path**: putiwan/rust_learn ## Basic Information - **Project Name**: rust_learn - **Description**: 这个项目包含了rust语言学习过程中产生的所有.rs练习代码. - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-06-12 - **Last Updated**: 2025-06-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 基础 ``` rustc --version cargo --version rustc ./main.rs cargo new ... cargo build cargo build --release cargo check cargo run cargo update cargo doc --open ``` ``` crate crate 是一组 Rust 源代码文件 类似于 包 寻找包的官网 https://crates.io/ ``` ``` Cargo.toml 类似于 依赖列表文件 [dependencies] 下方为本项目依赖的所有crate 0.8.5 为 ^0.8.5 表示 版本为 0.8.5 - 0.9.0 之间的某一个版本 添加新包后,调用 cargo build可自动下载 如果源代码有改动,会重新编译整个程序 ``` 两类数据类型子集: 标量(scalar) 复合(compound) 整型 浮点型 布尔类型 字符类型 u32 无符号32比特位整数 i32 有符号32比特位整数 i8,u8,i16,u16,i32,u32,i64,u64,i128,u128等 有符号数,以二进制补码形式存储 2的n次方-1 i8 表示 -2的7次方 到 2的7次方-1 因为有0,还有一位表示正负 所以为7次方 u8 表示 0 到 2的8次方-1 isize,usize 表示根据系统架构,32为系统则为i32,64位系统则为i64 u8 表示 0-255 256则为0 f32 f64 boolean char 单引号表示 char字面值 一个字符 z 双引号表示 &str字符串字面值 字符串 asdasdasd 元组(tuple) 数组(array) 元组是一个将多个不同类型的值组合进一个复合类型的主要方式。元组长度固定:一旦声明,其长度不会增大或缩小。 我们使用包含在圆括号中的逗号分隔的值列表来创建一个元组。元组中的每一个位置都有一个类型,而且这些不同值的类型也不必是相同的。 与元组不同,数组中的每个元素的类型必须相同。Rust 中的数组与一些其他语言中的数组不同,Rust 中的数组长度是固定的。 出现panic时,程序默认展开(unwinding) 也可以选择中止(abort) // 这不会清理数据,会直接退出程序 在,生产环境下,尽量将 panic = 'abort'。 例如:(Cargo.toml) ```rust [profile.release] panic = 'abort' ```