# learing_rust **Repository Path**: harverychina/learing_rust ## Basic Information - **Project Name**: learing_rust - **Description**: 自学rust语法 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-04-23 - **Last Updated**: 2025-09-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # learing_rust #### 介绍 rust语法 #### 学习内容 ##### 语法基础 - 创建第一个rust项目 - 使用cargo new [项目名] 命令创建新项目 - 使用cargo run 命令运行项目 - 使用cargo build 命令编译项目 - 使用cargo check 命令检查项目 - 使用cargo doc 命令生成项目文档 - 使用cargo test 命令运行项目测试 - 使用cargo fmt 命令格式化项目代码 - 使用cargo update 命令更新项目依赖 - 使用cargo publish 命令发布项目到crates.io - 使用cargo install 命令安装项目依赖 - 使用cargo uninstall 命令卸载项目依赖 - 变量和数据类型 - 变量声明 - 变量类型 - 常量声明 - 数据类型 - 标量类型 - 整数类型 - 浮点数类型 - 布尔类型 - 字符类型 - 数组类型 - 元组类型 - 枚举类型 - 复合类型 - 数组类型 - 切片类型 - 结构体类型 - 枚举类型 - 引用类型 - 猜数字游戏 - demo1 - 标准输出 Hello world - println!() 不是函数是宏 - cargo build编译后,文件放在./target/debug/demo1 - demo2 - 变量和常量 - mut关键字,不可变量变成可变量 - 编译器警告说变量 x 被赋值为 1 后从未被读取,因为在下一行就被重新赋值为 33 了。 - demo3 - 数据类型 - 整型 - 无符号整数:u8, u16, u32, u64, usize - 有符号整数:i8, i16, i32, i63, isize - 无符号整数默认是u32 - 有符号整数默认是i32 - 浮点数 - f32 和 f64 - 布尔值 - true / false - 字符 - ascii表上面的所有符号和表情 - 数组 - 按下标进行访问元素 - [i32; 5],使用这样的方式定义类型和长度 - demo4 - 流程控制 - 条件表达式 if - 表达式不会自动类型转换 - Expression 可以有返回值 - Statement - 编译前必须所有类型都要确定和统一,否则运行时会提示类型不一致的错误 - 循环 for / while / loop - loop 死循环,必须有停止条件 - while 循环计数,要设置停止条件来访问数据 - for 访问数组 - demo5 - 结构体函数和方法 - struct - 注意结构体函数名字要符号驼峰命名法 如: say_hello() - 结构体函数参数要使用应用符 & - 结构体语法堂 impl - demo6 && demo7 - 泛型 - demo8 - 生命周期 - demo9 - 所有权 - demo10 - 引用和借用 - demo11 - 二叉树 - demo12 - 集合 - demo13 - 字符串创建 - demo14 - 字符串转换 - 字符串追加 - 字符串拼接 - 字符串切片 - format!宏 - 字符串长度 - chars遍历 - demo15 - 通过网络组件下载网页首页文本内容到本地md文件中 - demo16 - 函数作为参数 - demo17 - 函数参数的类型和返回值的类型(unit) - demo18 - 数据结构 - 定义结构 - 枚举类型emnu - demo19 - 控制流程 - if 表达式 - 循环 - loop - while - for - 跳转语句 - break - continue - return - 提前返回 - demo20 - 单元测试 - demo21 - 练习题01 - demo22 - 所有权和移动