摘要: trait,定义泛型行为的方法。可与泛型结合来将泛型限制为拥有特定行为的类型。 泛型主要用于帮助开发者确保类型拥有期望的行为。 生命周期则确保引用在我们需要他们的时候一直有效。 (生命周期,它是一类允许我们向编译器提供引用如何相互关联的泛型。(即当前变量/函数的引用在什么条件下回收)) 介绍泛型前置 阅读全文
posted @ 2022-01-04 17:43 Tim晨 阅读(542) 评论(0) 推荐(0) 编辑
摘要: 一、不可恢复错误(panic!) 缓冲区溢出:C语言中访问vector不存在的索引,C语言会尝试直接提供所要求 二、可恢复错误(Result<T, E>) 返回类型为Result<T, E>,可以使用match表达式处理。 处理match复杂时,我们可以通过unwrap_or_else方法处理错误, 阅读全文
posted @ 2021-12-13 17:03 Tim晨 阅读(271) 评论(0) 推荐(0) 编辑
摘要: 一、vector 特点:一个挨着一个地存储一系列数量可变的值。 只能存储相同类型的值。 它在内存中彼此相邻地排列所有的值。 常见场景:文件中的文本,购物车中商品的价格。 vector是用泛型实现的。 let v: Vec = Vec::new(); let v = vec![1, 2, 3,]; 使 阅读全文
posted @ 2021-12-09 16:58 Tim晨 阅读(1338) 评论(0) 推荐(0) 编辑
摘要: 一、包和Crate 一个包至多只能包含一个库crate 包中可以包含任意多个二进制crate 包中至少包含一个crate,不区分类型 src/main.rs 就是一个与包同名的二进制 crate 的 crate 根。 src/bin → 二进制crate src/lib.rs → 库crate sr 阅读全文
posted @ 2021-12-01 20:54 Tim晨 阅读(350) 评论(0) 推荐(0) 编辑
摘要: 一、枚举(enums) Rust中枚举由成员(variants)组成 枚举替代结构体优势: 1. 每个成员可以处理不同类型和数量的数据 结构体与枚举相似点: 1. 都可以使用impl定义方法 2. 方法体都使用self来获取调用方法的值 Rust没有空值(即Null),但Rust拥有一个可以编码存在 阅读全文
posted @ 2021-11-30 15:52 Tim晨 阅读(260) 评论(0) 推荐(0) 编辑
摘要: 讨论元组和结构体,比较、对比 如何定义和实例化结构体 如何定义关联函数 一、结构体 使用struct 关键字声明 Struct User { name: String, // name 称之为字段 } 实例可变可以使用点号修改结构体某个字段。 Rust不允许只将一个不可变的结构体中某个字段标记为可变 阅读全文
posted @ 2021-11-29 19:26 Tim晨 阅读(481) 评论(0) 推荐(0) 编辑
摘要: 一、什么是所有权 一旦理解了所有权,就不需要经常考虑栈和堆了。 一些语言自带垃圾回收机制 一些语言需要程序员手动分配内存和释放 Rust通过所有权系统管理内存,编译器会在编译时根据一些列规则进行检查。在运行时,所有权系统不会减慢程序。 栈(Stack):所有数据必须占用已知固定的大小 堆(Heap) 阅读全文
posted @ 2021-11-29 15:26 Tim晨 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 变量: let 、let mut const 数据类型: 标量类型(scalar types) 整型 有符号 和 无符号 代表数字能否为负值 有符号:-(2^(n-1)) ~ 2^(n-1) - 1 无符号:0 ~ 2^n - 1 长度类型为 arch 表示根据当前计算机架构位数,64位就是64位, 阅读全文
posted @ 2021-11-26 17:19 Tim晨 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 一、http发展史 1-1. 互联网 互联网的发源,始于1969年美国的阿帕网(ARPANET),中文直译“高级研究项目-代理网络”,其开始是为了建立一种用于军队通信的网络。另一种推动互联网发展的是NSF网,它最初是由美国国家科学基金会资助建设的,目的是连接全美的5个超级计算机中心,供100多所美国 阅读全文
posted @ 2021-11-09 16:15 Tim晨 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 离上一次发技术文已经有5年之久了,近期继续开始写,一方面积累体系知识,学到记到用到抽象,另一方面训练写作技巧。 谨以此文,纪念逝去的5年。 阅读全文
posted @ 2021-11-08 14:26 Tim晨 阅读(35) 评论(0) 推荐(0) 编辑
Top