
Rust
文章平均质量分 95
TYYJ-洪伟
移动端技术主管、优快云博客专家。个人微信:tyyj89
展开
-
Rust 程序设计语言学习——高级特性
RUST 中常用部分学习结束之后,我们来接触一些 RUST 中的其他高级用法。不安全 Rust:用于当需要舍弃 Rust 的某些保证并负责手动维持这些保证高级 trait:与 trait 相关的关联类型,默认类型参数,完全限定语法(fully qualified syntax),超(父)trait(supertraits)和 newtype 模式高级类型:关于 newtype 模式的更多内容,类型别名,never 类型和动态大小类型高级函数和闭包:函数指针和返回闭包宏:定义在编译时定义更多代码的原创 2024-10-29 08:01:36 · 1337 阅读 · 0 评论 -
Rust 程序设计语言学习——面向对象
面向对象编程(Object-Oriented Programming,OOP)是一种对程序进行建模方式。对象(Object)作为一个编程概念来源于 20 世纪 60 年代的 Simula 编程语言。这些对象影响了 Alan Kay 的编程架构,该架构中对象之间互相传递消息。他在 1967 年创造了面向对象编程 (object-oriented programming)这个术语。关于 OOP 是什么有很多相互矛盾的定义;在一些定义下,Rust 是面向对象的;在其他定义下,Rust 不是。原创 2024-09-10 07:41:41 · 1780 阅读 · 0 评论 -
Rust 程序设计语言学习——并发编程
安全且高效地处理并发编程是 Rust 的另一个主要目标。并发编程(Concurrent programming),代表程序的不同部分相互独立地执行,而并行编程(parallel programming)代表程序不同部分同时执行,这两个概念随着计算机越来越多的利用多处理器的优势而显得愈发重要。由于历史原因,在此类上下文中编程一直是困难且容易出错的:Rust 希望能改变这一点。起初,Rust 团队认为确保内存安全和防止并发问题是两个分别需要不同方法应对的挑战。原创 2024-08-04 14:03:08 · 1150 阅读 · 1 评论 -
Rust 程序设计语言学习——智能指针
智能指针(smart pointers)是一类数据结构,它们的表现类似指针,但是也拥有额外的元数据和功能。智能指针的概念并不为 Rust 所独有;其起源于 C++ 并存在于其他语言中。Rust 标准库中定义了多种不同的智能指针,它们提供了多于引用的额外功能。原创 2024-07-28 08:24:57 · 752 阅读 · 0 评论 -
Rust 程序设计语言学习——函数式语言功能:迭代器和闭包
Rust 的闭包(closures)是可以保存在一个变量中或作为参数传递给其他函数的匿名函数。可以在一个地方创建闭包,然后在不同的上下文中执行闭包运算。不同于函数,闭包允许捕获被定义时所在作用域中的值。迭代器(iterator)负责遍历序列中的每一项和决定序列何时结束的逻辑。当使用迭代器时,我们无需重新实现这些逻辑。原创 2024-07-07 14:12:11 · 1458 阅读 · 1 评论 -
Rust 程序设计语言学习——泛型、Trait和生命周期
每一种编程语言都有高效处理重复概念的工具。在 Rust 中其工具之一就是泛型。泛型是具体类型或其他属性的抽象替代。Trait 定义了某个特定类型拥有可能与其他类型共享的功能。可以通过 Trait 以一种抽象的方式定义共同行为。可以使用 trait bounds 指定泛型是任何拥有特定行为的类型。生命周期是另一类我们已经使用过的泛型。不同于确保类型有期望的行为,生命周期确保引用如预期一直有效。原创 2024-06-28 08:03:50 · 1100 阅读 · 0 评论 -
Rust 程序设计语言学习——常见集合:Vector String Map
Rust 中常见的集合包括 Vector(列表)、String(字符串)和 Map(键值对)。Vec,也被称为 vector。vector 允许我们在一个单独的数据结构中储存多于一个的值,它在内存中彼此相邻地排列所有的值。vector 只能储存相同类型的值。String字符串类型由 Rust 标准库提供,而不是编入核心语言,它是一种可增长、可变、可拥有和 UTF-8 编码的字符串类型。当 Rustaceans 提及 Rust 中的 "字符串 "时,他们可能指的是String。原创 2024-05-27 08:31:21 · 975 阅读 · 0 评论 -
Rust 程序设计语言学习——枚举&模式匹配
假设我们要跨省出行,有多种交通工具供选择。常用的交通工具有飞机、火车、汽车和轮船。这是我们常用的跨省出行乘坐交通工具的所有形式:所以可以枚举出所有可能的值,这也正是此枚举名字的由来。可以通过在代码中定义一个 Vehicle 枚举来表现这个概念并列出可能的交通工具类型,Airplane(飞机)、Train(火车)、Car(汽车) 和 Ship(轮船)。这被称为枚举的成员Airplane,Train,Car,Ship,如果现在我们要区分汽车到底是哪一种?原创 2024-04-05 20:10:31 · 1501 阅读 · 1 评论 -
Rust 程序设计语言学习——结构体
定义结构体,需要使用struct关键字并为整个结构体提供一个名字。结构体的名字需要描述它所组合的数据的意义。接着,在大括号中,定义每一部分数据的名字和类型,我们称为 字段(field)。原创 2024-03-24 07:41:29 · 1244 阅读 · 2 评论 -
Rust 程序设计语言学习——所有权
这一节主要来学习 Rust 语言的其他特性,所有权、引用与借用、Slice 类型。原创 2024-03-17 07:04:54 · 1386 阅读 · 1 评论 -
Rust 程序设计语言学习——基础语法
println!( “Hello World”) 中的 println 后面还有一个!符号,println 不是一个函数,而是一个宏规则。println!()和print!()。这两个"函数"都是向命令行输出字符串的方法,区别仅在于前者会在输出的最后附加输出一个换行符。当用这两个"函数"输出信息的时候,第一个参数是格式字符串,后面是一串可变参数,对应着格式字符串中的"占位符",这一点与 C 语言中的printf函数很相似。但是,Rust 中格式字符串中的占位符不是 “% + 字母” 的形式,而是一对{}原创 2024-01-21 11:09:12 · 2497 阅读 · 1 评论