Rust的mod管理 首先明确几个Rust的概念 Packages: 可以理解为是一个工程project,包含了cargo.toml,描述了几个crate应该怎么组织在一起,...

Rust的mod管理 首先明确几个Rust的概念 Packages: 可以理解为是一个工程project,包含了cargo.toml,描述了几个crate应该怎么组织在一起,...
使用线程并行执行代码 使用spawn 创建线程 使用thread::spawn,传递一个闭包closure进来join()方法确保handler的线程都能执行完 使用move...
指针:是指一个包含了内存地址的变量,这个地址代表或者指向其它的数据,最常用的一种指针就是引用reference,用符号&表示,借用了指向的值 智能指针:一种结构体,不止具备指...
Cargo Release Profile cargo build 默认使用的dev 的profilecargo build --release 使用的release 的pr...
Rust语言的设计吸收了许多其它语言的优秀设计,比如函数式编程和闭包 闭包closure 能捕获环境参数的匿名函数 Rust中定义了Fn, FnMut, FnOnce几种Tr...
命令行程序 Filename: src/lib.rs Filename: src/main.rs 知识点 如何读取命令行的参数 如何处理异常 设计struct类型 lib.r...
测试 单元测试默认是并行执行的(in parralel) 一些参数或者调用方式: 串行执行测试增加参数 test-threads=1,指定只有一个线程,所有测试必须一个接一个...
泛型 Generic Type 如下两个function,实现从slice 切片中找到最大的值并返回,分别为i32类型,char类型分别定义了两个function 代码重复太...
异常处理 panic!宏处理不可恢复的异常,程序终止 注意这里的RUST_BACKTRACE=1 环境变量,设置该变量后可以看到详细的报错信息 Result<T, E> 来处...
集合 vector 可变vector1)写入新的元素 2)读取某个元素内容一种方式是通过index索引,如&v[2],但是可能会panic,下标溢出另一种方式是通过get(i...
package src/main.rs 是crate的默认约定入口, 或者src/lib.rs 一个package由一个或多个crate组成 二进制程序,或者lib 库 mo...
6. Enum和Pattern matching 6.1 Enum枚举 IP地址枚举 消息类型枚举:可以看到枚举中每个元素的类型可以不同 Option枚举 Option 的使...
5. Struct 程序 = 数据结构 + 算法 类如C++/Java中的Object,C语言中的Struct,Rust中定义数据结构的关键字也是Struct,可能也是Rus...
4.1 理解ownership Rust的一个核心概念,通过所有权机制,解决了C/C++语言中的野指针,悬挂指针等诸多问题,提供了更高的安全性 规则 每一个值都有一个变量是它...
3. 通用的编程概念 3.1变量和可变性 变量默认都是immutable mut关键字使得变量可变,但是带来了额外的复制开销,考虑Struct的数据比较大的情况 shadow...
猜字谜的游戏 (全书第一个代码实例) 如何从控制台读取输入 expect()对异常的处理 rand 随机数生成 match模式匹配 continue,break loop的使用
Rust官方推荐的三个学习网站之 The Rust Programming Language 全书共20个章节,下面归纳各个章节的核心内容 1.hello world 1.1...