
Rust学习
文章平均质量分 81
VertexGeek
人工智能和Linux重度患者
展开
-
Rust学习(十):计算机科学简述
我们需要知道计算机科学难以有一个简单明确的定义。名称里的“计算机”一词常常让人产生误解,以为它只是单纯地研究计算机本身。其实并非如此,计算机只是一个重要工具。计算机科学的重点在于对问题、解决方案以及产生方案的过程的探究。当面对给定的问题时,计算机科学家致力于开发通用算法,只要依照这些算法,就能在有限时间内解决类似问题。从这个角度来看,计算机科学很大程度上就是对算法的研究。但要注意,不是所有问题都有现成的解决算法,像 NPC 问题就是目前还未攻克的难题。原创 2024-11-26 20:46:35 · 1126 阅读 · 0 评论 -
Rust学习(九):密码生成器
到目前为止,我们已经介绍了不少Rust基础内容,虽然还有很多知识难以覆盖,但是,我们依然可以以一个Rust项目来深入了解和掌握,Rust构建项目的哲学。我们将在下面编写一个生成密码的命令行工具,可以通过seed参数控制生成密码的账户,通过length参数来控制生成密码的长度,默认长度是16位。原创 2024-11-25 10:51:48 · 490 阅读 · 0 评论 -
Rust学习(八):异常处理和宏编程:
异常处理是任何编程语言都会遇到的现象,Rust并没有像其他变成语言一样提供了try catch这样的异常处理方法,而是提供了一种独特的异常处理机制。这里需要指明的是作者在书中将Rust中的失败、错误、异常等统称为异常,Rust中的异常有4种:Option, Result, Panic和Abort。Option用于应对可能的失败情况,Rust使用Some和None来表示是否失败,以获取值为例:如果没有获取到值,就会返回None作为返回值,这时不需要报错,只需要依据情况处理即可。原创 2024-11-22 21:08:06 · 986 阅读 · 0 评论 -
Rust学习(七):智能指针
作为一种编程语言,Rust中最常见的指针类型就是引用,而引用只是一种普通指针,除引用数据之外,没有其他功能。为了更方便的处理复杂的结构数据,有必要在开始我们的算法之旅前,介绍Rust中智能指针的概率,当然,这里我们只会简单的介绍一些常用的智能指针,如果大家对此感到困惑,或者是想进一步深入的学习智能指针的设计哲学,建议阅读其Rust学习资料(doge)。智能指针是一种数据结构,其行为类似于指针,含有元数据,在大部分情况下拥有数据的所有权,提供内存管理或绑定等附加功能,如管理文件句柄和网络链接。原创 2024-11-20 22:32:50 · 1019 阅读 · 0 评论 -
Rust学习(六):函数式编程
我们在前一篇博客中已经介绍了如何通过trait和impl实现Rust的面向对象编程,但是Rust本身实际上并不提倡通过类来解决问题。Rust推崇的是函数式编程,强调将函数作为参数值或者其他函数的返回值,将函数赋值给变量之后在继续执行。其中最重要的两个概念就是:闭包函数和迭代器。原创 2024-11-18 21:33:29 · 1200 阅读 · 0 评论 -
Rust学习(五):泛型、trait
完成函数的重载之后,就可以正常对两个f64类型的变量使用add()方法进行加法运算了!但是,如果我们要为所有数值类型的变量都实现这样一个add函数,难道要逐个类型的进行函数重载吗?那整个代码将变得过于冗余和难以管理,在Rust中为了处理这种重复性的问题,引出了泛型的概念。原创 2024-11-15 22:43:56 · 730 阅读 · 0 评论 -
Rust学习(四):作用域、所有权和生命周期:
所有权机制是Rust中的内存管理手段,类似于python中的垃圾回收机制或者是C/C++中的手动释放内存,Rust的编译器会根据一系列规则进行检查,倘若违反了规则,程序连编译器都无法通过(也造就了C/C++编译之后无法允许,Rust无法编译的梗)。每个值只有一个所有者值在任意时刻都只有一个所有者当所有者离开作用域时,值会被自动丢弃。// 设置一个临时作用域:let a = 5;println!("a的值为:{}", a);原创 2024-11-14 09:01:52 · 1099 阅读 · 0 评论 -
Rust学习(三):rust基础Ⅱ
上一篇文章,我们了解了什么是变量,常量,数据类型等Rust中的基础知识,本篇文章,将进一步介绍Rust的有关基础知识,帮助读者更好的理解rust的编程哲学。原创 2024-11-12 20:26:03 · 541 阅读 · 0 评论 -
Rust学习(二):rust基础语法Ⅰ
很多关键字和其他编程语言种的关键字功能类似,比如:for,move,if等,但是也有一些独特的关键字,体现了语言的设计者的精妙构思,比如match在Rust种功能强大,但是在C/C++中对应的switch的功能就相对偏弱。原创 2024-11-11 23:00:08 · 846 阅读 · 0 评论 -
Rust学习(一):初识Rust和Rust环境配置
本系列文章将围绕《Rust数据结构与算法》一书展开,以书中的十章目录为基础,衍生一系列介绍Rust算法逻辑的博客(内容如下):第一章:Rust基础:第二章:计算机科学(概述):第三章:算法分析:第四章:基础数据结构:第五章:递归:第六章:查找:第七章:排序:第八章:树:第九章:图:第十章:实战:下面让我们正式开始Rust之旅吧,首先来了解一下Rust的历史,并在自己的计算机上安装上Rust的环境和工具链!原创 2024-11-10 22:17:12 · 1133 阅读 · 0 评论