![](https://img-blog.csdnimg.cn/direct/64c2dba11bb54c1d8f494c161738fd11.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Rust
文章平均质量分 61
Rust 是一种系统级编程语言,由 Mozilla 公司开发,旨在提供更安全、更快速的软件开发体验。它结合了低级的系统编程语言(如 C 和 C++)的性能和控制力,以及高级编程语言(如 Python 和 Ruby)的安全性和易用性。
Lucarun
网络安全Hacker,人工智能AIer,区块链Web3er,全栈软件开发er
副业:区块链web3开发,AI人工智能平台搭建,职业规划咨询,软件架构指导
展开
-
Rust从入门到暴走(26)--- Rust的并发编程之共享内存
在多线程编程中,共享内存是一个常见的挑战,因为多个线程需要同时访问和修改相同的数据。在Rust中,我们可以使用标准库中的 Arc(原子引用计数)和 Mutex(互斥锁)来实现安全的共享内存。本文将深入探讨这两个关键概念,介绍它们的使用方法以及如何在Rust中编写线程安全的代码。原创 2024-04-07 13:19:48 · 363 阅读 · 0 评论 -
Rust从入门到暴走(25)--- Rust的智能指针
Rust 的智能指针为程序员提供了强大的内存管理和数据结构构建工具。通过 Box、Rc 和 Arc 等类型,可以实现所有权传递、共享所有权和多线程安全等功能。智能指针还通过 RefCell 和 Mutex 等提供了内部可变性和并发安全性。智能指针是 Rust 中重要的工具,有效地平衡了性能、安全性和灵活性,为开发者提供了可靠的解决方案。原创 2024-04-07 13:00:48 · 331 阅读 · 0 评论 -
Rust从入门到暴走(24)--- Rust的并发编程之线程间通信
instead, share memory by communicating.” – 这个思想来源于Go编程语言文档中的口号在 Rust 编程语言中,Channel 是一种线程间通信(Inter-thread Communication)的方式,它允许不同的线程之间进行数据交换。Channel 中有两个重要的角色:发送端(Transmitter)和接收端(Receiver)。发送端负责将数据发送到 Channel 中,而接收端负责从 Channel 中接收数据。原创 2024-04-05 21:06:27 · 293 阅读 · 0 评论 -
Rust从入门到暴走(23)--- Rust的并发编程之简单的标准库API
Rust 提供了强大的多线程支持,使得开发者能够轻松地编写高效的并发程序。通过标准库提供的 std::thread 模块,开发者可以创建线程并进行线程间通信。借助原子类型和锁机制,Rust 还能有效地确保线程安全性,避免数据竞争和线程不安全的情况。多线程编程在 Rust 中的应用范围广泛,包括生产者-消费者模型、并行计算任务等。由于 Rust 的内存安全性和并发安全性特性,多线程编程在 Rust 中变得更加可靠和高效。原创 2024-04-05 20:15:32 · 517 阅读 · 0 评论 -
Rust从入门到暴走(22)--- Rust的函数式编程之迭代器iterator和集合操作
Rust提供了自己的迭代器类型,称为 Iterator。Rust 的迭代器设计旨在提供高效且安全的迭代器抽象。迭代器是 Rust 中非常重要的概念,它允许您以函数式编程的风格对集合进行操作,提供了一组方法来遍历集合元素,如 collection()、map()、filter() 等。原创 2024-04-03 08:36:04 · 904 阅读 · 0 评论 -
Rust从入门到暴走(21)--- Rust的函数式编程之闭包closures
Rust 的设计受到了多种现有语言和技术的影响,其中一个明显的影响来自函数式编程(functional programming)。函数式编程风格通常包括将函数作为参数传递给其他函数、将函数作为其他函数的返回值、以及将函数赋值给变量以供之后执行等等。Rust 中的闭包(closures)和高阶函数(higher-order functions)等功能正是受到了函数式编程的启发而引入的。这些功能使得 Rust 更具表现力和灵活性,同时也使得代码更易于编写和理解。原创 2024-04-02 23:38:04 · 794 阅读 · 0 评论 -
Rust从入门到暴走(20)--- Rust的单元测试
在这个例子中,我们定义了一个 Rectangle 结构体,并实现了一个 area 方法来计算矩形的面积。然后在测试模块中编写了单元测试函数 test_rectangle_area,用于测试 area 方法是否正确计算面积。原创 2024-04-02 19:01:42 · 495 阅读 · 1 评论 -
Rust从入门到暴走(19)--- 如何写一个组织优雅的Rust命令行程序
main.rs 是命令行程序的入口,负责获取args以及核心业务逻辑的处理函数的调用。根据调用函数的返回结果决定程序是否正常运行下去或者终止。lib.rs 是核心业务逻辑的处理函数的定义,里面包括args的解析和验证函数,以及包括查询指定文件中是否包含指定关键词的函数。原创 2024-04-02 10:51:10 · 556 阅读 · 1 评论 -
Rust从入门到暴走(18)--- Rust的Option使用详解
Option 类型是一个枚举类型,它有两个变体:Some(T):表示存在一个值,这个值被包含在 Some 中。None:表示不存在值。原创 2024-04-02 08:01:20 · 450 阅读 · 1 评论 -
Rust从入门到暴走(17)--- Rust的I/O操作
Rust标准库提供了一组用于文件I/O操作的模块和类型,使得在Rust中进行文件读写变得非常简单。主要涉及的模块包括std::fsstd::io等。我们将逐步介绍这些模块的主要功能,并通过示例代码演示它们的用法。原创 2024-04-02 07:39:19 · 512 阅读 · 1 评论 -
Rust从入门到暴走(16)--- Rust的生命周期lifetime
当我们使用引用时,编译器需要知道引用的有效期,以确保引用指向的数据在引用被使用时仍然有效。这个函数比之前的版本更加灵活,它可以接受具有相同生命周期的任意两个字符串切片,并返回一个具有相同生命周期的字符串切片,这样就保证了返回的引用不会超出输入参数的生命周期。在 Rust 中,编译器会在编译时检查引用的生命周期,确保引用的有效性。引用,其生命周期被限定在函数内部,当函数结束时,返回的引用也会被销毁,因此在。,我们可以确保返回的引用在编译时是有效的,并且不会导致悬垂引用的问题。,它们都有自己的生命周期。原创 2024-04-01 22:03:06 · 346 阅读 · 0 评论 -
Rust从入门到暴走(15)--- Rust的泛型数据类型
在 Rust 中,可以使用<>语法来定义泛型。x: T,y: T,在上面的例子中,Point<T>定义了一个泛型结构体Point,该结构体具有一个类型参数T,可以用来表示任意类型的坐标。原创 2024-04-01 20:13:48 · 171 阅读 · 0 评论 -
Rust从入门到暴走(14)--- Rust的常见集合
Rust 标准库中包含了一系列非常有用的数据结构,被称为集合(collections)。相较于其他数据类型只能代表单个值,集合可以容纳多个值。不同于内建的数组和元组类型,集合中的数据储存在堆上,这意味着在编译时不必知道数据的数量,而且数据量可以在程序运行时动态增加或减少。每种集合都有着不同的功能和成本,根据当前情况选择合适的集合类型是一项需要逐渐掌握的技能。原创 2024-04-01 20:04:55 · 287 阅读 · 0 评论 -
Rust从入门到暴走(13)--- Rust的错误处理机制
在 Rust 中,错误处理是一种重要的编程技术,用于处理可能出现的异常情况和错误状态。Rust 提供了强大而灵活的错误处理机制,允许开发者处理不可恢复的错误并采取适当的措施来处理可恢复的错误。原创 2024-04-01 19:37:02 · 323 阅读 · 0 评论 -
Rust从入门到暴走(12)--- Rust的组织管理
Rust 中的组织管理主要涉及模块(Modules)、包(Packages)和 crates(crate 是 Rust 中构建和共享功能的单元)。通过模块和包的组织管理,Rust 提供了一种灵活且清晰的方式来组织代码,使代码更易于理解、维护和重用。原创 2024-04-01 19:25:21 · 473 阅读 · 0 评论 -
Rust从入门到暴走(11)--- Rust的枚举Enums
在 Rust 中,可以使用enum关键字来定义枚举。Variant1,Variant2,// 更多的变体EnumName是枚举类型的名称。Variant1Variant2Variant3是枚举的不同变体(也称为成员或标签)。每个变体可以选择关联一个数据类型,用来存储额外的信息。原创 2024-04-01 18:55:45 · 290 阅读 · 0 评论 -
Rust从入门到暴走(1)--- Rust语言简介
Rust 是一种由 Mozilla Research 开发的系统编程语言,于 2010 年首次发布,并于 2015 年稳定版发布。Rust 旨在提供高性能和内存安全性,同时保持开发者的生产力。它被设计为一种多范式语言,支持面向对象、函数式和并发编程。原创 2024-04-01 10:54:47 · 535 阅读 · 0 评论 -
Rust从入门到暴走(2)--- Rust命令行环境搭建
首先,您需要安装最新版本的 Rust 编译工具。请注意,Rust 编译工具依赖于 C 语言的编译工具。这意味着,如果您使用的是 Linux / macOS 系统,通常已经具备了 GCC 或 clang。如果您使用的是 macOS/Windows,则需要手动安装。对于macOS、Linux 或其它类 Unix 系统。要下载 Rustup 并安装 Rust,请在终端中运行以下命令,然后遵循屏幕上的指示。如果您在 Windows 上,请参见。测试安装结果。原创 2024-04-01 11:34:18 · 347 阅读 · 0 评论 -
Rust从入门到暴走(3)--- Rust开发环境搭建Visual Studio Code
通过上篇文章相信大家已经学会了如何通过命令行的形式编译Rust代码文件并且运行,今天我们来学习如何搭建好自己的的开发环境,这里选用的是Visual Studio Code。原创 2024-04-01 12:38:50 · 917 阅读 · 0 评论 -
Rust从入门到暴走(4)--- Rust的基本语法
让我们从经典的 Hello, World!这段代码定义了一个名为main的函数,其中println!是 Rust 提供的宏,用于打印输出。在 Rust 中,函数名必须紧跟着fn关键字,并且函数体必须用大括号{}包裹。原创 2024-04-01 12:49:08 · 259 阅读 · 0 评论 -
Rust从入门到暴走(5)--- Rust的基本数据类型
在 Rust 中,数据类型是程序中存储数据的基本单元。本文将介绍 Rust 中的基本数据类型,包括整数、浮点数、布尔值、字符和复合类型。原创 2024-04-01 13:03:59 · 243 阅读 · 0 评论 -
Rust从入门到暴走(6)--- Rust的条件语句
条件语句是编程中常用的一种控制结构,用于根据条件执行不同的代码分支。在 Rust 中,条件语句也是非常重要的,本文将深入探讨 Rust 中的条件语句,包括ifif-else和match。原创 2024-04-01 13:30:18 · 151 阅读 · 0 评论 -
Rust从入门到暴走(7)--- Rust的循环
循环是编程中常用的一种结构,用于重复执行一段代码直到满足某个条件。Rust 提供了几种不同类型的循环语法,包括loopwhile和for循环。本文将详细介绍 Rust 中的循环语法,帮助读者更好地理解和应用循环结构。原创 2024-04-01 13:58:40 · 326 阅读 · 0 评论 -
Rust从入门到暴走(8)--- Rust的所有权
得到的在软件开发过程中,有效地管理内存资源是至关重要的。不同的编程语言采用不同的内存管理方式:传统的语言如 C/C++ 通常采用手动方式管理内存,程序员需要自行申请和释放内存资源。然而,这种方式容易导致内存泄漏或者资源浪费,因为程序员可能会忘记释放已经申请的内存。在 Java 等语言中,程序在虚拟机(JVM)中运行,JVM 负责自动回收内存资源。虽然这种方式减轻了程序员的负担,但自动垃圾回收可能会影响运行时的性能,并且不及时释放内存也可能导致内存占用过大的问题。原创 2024-04-01 16:37:13 · 868 阅读 · 0 评论 -
Rust从入门到暴走(9)--- Rust的切片Slice类型
在 Rust 中,切片是一种重要的数据类型,用于引用集合类型(如数组和字符串)的连续一段元素。切片提供了一种安全、灵活的方式来操作集合,同时也有一些特性和限制需要注意。在 Rust 中,切片由一个指向数据的指针和一个长度组成。它们是不可变的引用类型,允许对集合中的一部分元素进行访问,但不能修改原始集合的内容。切片可以是数组的切片或字符串的切片,也可以是任何其他支持切片操作的集合类型的切片。原创 2024-04-01 17:31:28 · 149 阅读 · 0 评论 -
Rust从入门到暴走(10)--- Rust的结构体Struct
结构体的定义使用struct关键字,后跟结构体的名称,以及一对大括号{}内包含成员变量的定义。age: u32,上面的代码定义了一个名为Personnameage和is_male,分别表示姓名、年龄和性别。原创 2024-04-01 18:01:25 · 329 阅读 · 0 评论