【Rust自学】17.2. 使用trait对象来存储不同值的类型
喜欢的话别忘了点赞、收藏加关注哦(加关注即可阅读全文),对接下来的教程有兴趣的可以关注专栏。谢谢喵!(==) 17.2.1. 需求 这篇文章以一个例子来介绍如何在Rust中使用trait对象来存储不同值的类型。 在第 8 章中,我们提到Vector的一个限制是它们只能存储一种类型的元素。我们在 8.2. Vector + Enum的应用 中创建了一个解决方法,其中定义了一个SpreadsheetCe...
【Rust自学】18.1. 能用到模式(匹配)的地方
喜欢的话别忘了点赞、收藏加关注哦(加关注即可阅读全文),对接下来的教程有兴趣的可以关注专栏。谢谢喵!(==) 18.1.1. 什么是模式 模式(pattern) 是Rust里的一种特殊的语法,用于匹配复杂和简单类型的结构。 将模式与匹配表达式和其他构造结合使用,可以更好地控制程序的控制流。 模式由以下元素(的一些组合)组成: 字面值解构的数组、enum、struct和tuple变量通配符占位符 想要...
【Rust自学】16.3. 共享状态的并发
喜欢的话别忘了点赞、收藏加关注哦(加关注即可阅读全文),对接下来的教程有兴趣的可以关注专栏。谢谢喵!(==) 16.3.1. 使用共享来实现并发 还记得Go语言有一句名言是这么说的:Do not communicate by sharing memory; instead, share memory by communicating.(不要用共享内存来通信,要用通信来共享内存) 上一篇文章就是使用通...
【Rust自学】13.9. 使用闭包和迭代器改进IO项目
13.9.0. 写在正文之前 Rust语言在设计过程中收到了很多语言的启发,而函数式编程对Rust产生了非常显著的影响。函数式编程通常包括通过将函数作为值传递给参数、从其他函数返回它们、将它们分配给变量以供以后执行等等。 在本章中,我们会讨论 Rust 的一些特性,这些特性与许多语言中通常称为函数式的特性相似: 闭包迭代器使用闭包和迭代器改进I/O项目(本文)闭包和迭代器的性能 喜欢的话别忘了点赞、...
【Rust自学】13.6. 迭代器 Pt.2:消耗和产生迭代器的方法
13.6.0. 写在正文之前 Rust语言在设计过程中收到了很多语言的启发,而函数式编程对Rust产生了非常显著的影响。函数式编程通常包括通过将函数作为值传递给参数、从其他函数返回它们、将它们分配给变量以供以后执行等等。 在本章中,我们会讨论 Rust 的一些特性,这些特性与许多语言中通常称为函数式的特性相似: 闭包迭代器(本文)使用闭包和迭代器改进I/O项目闭包和迭代器的性能 喜欢的话别忘了点赞、...
【Rust自学】13.8. 迭代器 Pt.4:创建自定义迭代器
13.8.0. 写在正文之前 Rust语言在设计过程中收到了很多语言的启发,而函数式编程对Rust产生了非常显著的影响。函数式编程通常包括通过将函数作为值传递给参数、从其他函数返回它们、将它们分配给变量以供以后执行等等。 在本章中,我们会讨论 Rust 的一些特性,这些特性与许多语言中通常称为函数式的特性相似: 闭包迭代器(本文)使用闭包和迭代器改进I/O项目闭包和迭代器的性能 喜欢的话别忘了点赞、...
【Rust自学】13.7. 迭代器 Pt.3:使用闭包捕获环境配合迭代器的使用
13.7.0. 写在正文之前 Rust语言在设计过程中收到了很多语言的启发,而函数式编程对Rust产生了非常显著的影响。函数式编程通常包括通过将函数作为值传递给参数、从其他函数返回它们、将它们分配给变量以供以后执行等等。 在本章中,我们会讨论 Rust 的一些特性,这些特性与许多语言中通常称为函数式的特性相似: 闭包迭代器(本文)使用闭包和迭代器改进I/O项目闭包和迭代器的性能 喜欢的话别忘了点赞、...
【Rust自学】13.4. 闭包 Pt.4:使用闭包捕获环境
13.4.0. 写在正文之前 Rust语言在设计过程中收到了很多语言的启发,而函数式编程对Rust产生了非常显著的影响。函数式编程通常包括通过将函数作为值传递给参数、从其他函数返回它们、将它们分配给变量以供以后执行等等。 在本章中,我们会讨论 Rust 的一些特性,这些特性与许多语言中通常称为函数式的特性相似: 闭包(本文)迭代器使用闭包和迭代器改进I/O项目闭包和迭代器的性能 喜欢的话别忘了点赞、...
【Rust自学】12.3. 重构 Pt.1:改善模块化
12.3.0. 写在正文之前 第12章要做一个实例的项目——一个命令行程序。这个程序是一个grep(Global Regular Expression Print),是一个全局正则搜索和输出的工具。它的功能是在指定的文件中搜索出指定的文字。 这个项目分为这么几步: 接收命令行参数读取文件重构:改进模块和错误处理(本文)使用TDD(测试驱动开发)开发库功能使用环境变量将错误信息写入标准错误而不是标准输...
qt自定义加载字体库ttf
在开发过程中,我们会用到其他的开源字体库,然而在打包后会在不同的电脑上遇到没有安装该字体的问题,以下是通过代码在main.cpp中添加字体示例,以供参考: int main(int argc, char *argv[]){ QApplication app(argc, argv); // 刷新字体数据库(某些系统需要手动刷新) m_registryTkPath += "G:\\font\\Alib...