logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

Rust 语言特性:枚举

Rust枚举类型深度解析:从基础到高级应用 Rust中的枚举(Enum)是一种强大的类型系统特性,它不仅是简单的常量集合,更是结构体的容器与选择器。枚举成员可分为三类:类单元结构体型、普通结构体型和元组结构体型,每种都对应不同的数据结构。枚举值可以是唯一常量(无数据成员)或多个实例(有数据成员)。 枚举与泛型的结合尤为强大,标准库中的Option<T>就是典型代表,它优雅地处理了可能为

文章图片
Rust 语言特性:impl 与 方法

本文探讨了不同编程语言中"函数"和"方法"的概念差异,重点分析了Rust语言的实现方式。在Rust中,通过impl块为结构体定义的方法实际上是与类型关联的函数集合,而非传统意义上的成员函数。文章以Rectangle结构体为例,展示了如何定义和使用带有&self参数的方法来计算面积,并解释了self参数的不同形式(&self/&mut self/self)对所有权的影响。同时介绍了关联函数的概念,说

文章图片
#rust
Rust 语言特性:Deref Trait 和 解引用

Rust中的解引用机制通过Deref trait实现,与C++的指针解引用不同。Rust的引用附加了生命周期、借用规则等安全机制。实现Deref trait的自定义类型(如MyBox)需要通过deref()方法返回内部值的引用,编译器会自动处理解引用操作。强制解引用转换功能允许类型自动转换为目标类型的引用,减少手动使用&和*操作符的需要。转换过程中会保持或收紧引用的可变性,但不会放宽限制。这一机制

文章图片
#rust
Rust 语言特性:常用集合

本文介绍了Rust中两种重要的集合类型Vector和HashMap的基本操作。Vector是动态数组,支持尾部压入(push)和弹出(pop)操作,可通过索引或get方法访问元素,注意可变引用与不可变引用的使用限制。HashMap通过insert方法插入键值对,get方法返回Option类型,entry.or_insert方法实现条件插入。文章还展示了如何利用枚举在Vector中存储不同类型,以及

文章图片
#rust
C++ 编程技巧:使用 Enum 作为数组 / 容器索引

C++中枚举类型作为数组/容器索引是一种高效编程技巧。相比Java枚举的类特性,C++枚举本质是整型值,这使得它们能直接作为数组索引使用。关键实现要点包括:枚举值默认从0开始匹配数组索引,额外定义MaxSource表示数组大小。这种设计相比使用Map具有明显优势:下标访问速度快、无键不存在问题、节省存储空间。实际案例展示了如何用枚举索引管理预览类型配置数据,体现了C++枚举的实用价值。

文章图片
#c++
Rust 语言特性:泛型

本文介绍了Rust中泛型的使用方式。首先展示了在函数中使用泛型实现最大值查找功能,通过<T: PartialOrd + Copy>限定类型范围。其次说明了结构体中的泛型应用,支持单类型或多类型参数。然后回顾了枚举中使用泛型的典型例子Option<T>。接着讲解了方法中的泛型实现,包括结构体泛型与方法泛型的关联使用。最后解释了Rust采用"单态化"实现泛型

文章图片
#rust
Rust 语言特性:Trait

Rust中的Trait系统是其类型系统的核心组成部分,它定义了类型的行为规范。本文系统介绍了Trait的定义、实现和使用方法: Trait定义行为规范,可以包含默认实现或抽象方法。定义时需考虑行为抽象的设计合理性。 为类型实现Trait使用impl Trait for Type语法,可以覆盖默认实现或补充抽象方法实现。 Trait作为参数时需使用impl Trait语法或更明确的Trait Bou

文章图片
#rust
机器学习中的数据集切分

应用有监督的机器学习算法时,需要将数据集切分成训练数据集和测试数据集两部分。在《Handson ML》一书中,使用了numpy.random.permutation,对数据集进行了切分。其思路是:利用permutation生成shuffle后记录索引(打乱顺序的索引集合),然后按比例

#sklearn
数据库分库分表(sharding)系列(四) 多数据源的事务处理

系统经sharding改造之后,原来单一的数据库会演变成多个数据库,如何确保多数据源同时操作的原子性和一致性是不得不考虑的一个问题。总体上看,目前对于一个分布式系统的事务处理有三种方式:分布式事务、基于Best Efforts 1PC模式的事务以及事务补偿机制。我们下面对这三种处理方式一一进行分析。本文原文链接:http://blog.csdn.net/bluishglc/article/deta

文章图片
#数据库#spring
再借用(Reborrow):Rust 借用检查的高级话题还是智力游戏?

本文介绍了Rust中的"再借用"(Reborrow)概念。再借用发生在对一个通过引用访问的地方再次创建引用时,编译器会将新引用视为从原引用派生的引用,而非独立的新引用。通过权限模型分析,再借用会导致原引用暂时失去读写权限,直到新引用生命周期结束。文章通过代码示例展示了再借用的工作流程和权限转移过程,并解释了Rust支持再借用的必要性——这使得接受可变引用参数的函数能够被正常调用。再借用是Rust所

文章图片
#rust
    共 41 条
  • 1
  • 2
  • 3
  • 4
  • 5
  • 请选择