自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 【Rust】错误处理机制

Rust 通过明确区分可恢复错误和不可恢复错误,提供了高效且安全的错误处理方式。Rust 要求开发者在编写代码时考虑错误的可能性,并采取相应的措施。Rust 通过其强大的类型系统和错误处理机制,帮助开发者在编译时捕获和处理这些错误,从而提高程序的健壮性。不可恢复错误是指那些无法通过程序逻辑恢复的错误,通常是由于程序中的 bug 导致的。在决定是尝试恢复错误还是停止执行时,开发者需要权衡错误的性质和程序的稳定性。在这个示例中,我们尝试访问一个超出数组边界的元素,这将导致程序立即停止执行,并打印出错误信息。

2025-01-12 19:11:37 1053

原创 【Rust】常见集合

集合的数据存储在堆上,因此其大小可以在程序运行时动态变化,而不必在编译时确定。虽然其性能可能不如其他哈希算法,但在安全性和性能之间的权衡是值得的。它在内存中是连续存储的,支持高效的随机访问和动态扩展。如果不存在,则将参数插入作为该键的新值,并返回新值的可变引用。:哈希映射是一种将特定键与值关联的数据结构,属于更通用的数据结构“映射”的一种实现。需要注意的是,向量必须是可变的(:向量的元素在内存中是连续存储的,可以根据需要动态扩展或缩减。:允许通过键快速访问对应的值,适合存储键值对数据。

2025-01-12 16:44:38 1252

原创 【Rust】枚举与模式匹配

枚举是一种数据类型,允许将一个值限制为一组可能的值。例如,可以定义一个表示形状的枚举,包含矩形(Rectangle)、圆形(Circle)和三角形(Triangle)。

2025-01-12 11:55:06 1077

原创 【Rust】结构体的方法语法

方法是定义在结构体、枚举或特征对象(trait object)中的函数,与特定类型实例相关联。方法的第一个参数总是self,表示方法被调用的实例。self可以是以下三种形式之一:&self:不可变借用,表示方法不会修改实例。&mut self:可变借用,表示方法可能会修改实例。self:获取所有权,表示方法会消耗实例。方法通过impl(实现)块定义,所有在该块内的内容都与指定的类型相关联。以下示例展示了如何在Rectangle结构体上定义area方法,计算矩形的面积。// 定义方法:计算面积。

2025-01-11 17:31:15 412

原创 【Rust】结构体示例与调试

本文通过一个计算矩形面积的程序,展示了如何从简单变量逐步重构到使用结构体,以提高代码的清晰度和可管理性。结构体是Rust中组织复杂数据的重要工具,能够显著提升代码的可读性和可维护性。函数中使用两个参数,缺乏参数之间的关联性,导致可读性差。结构体提供了更强的类型安全性,避免了参数顺序错误等问题。使用元组将宽度和高度组合为一个参数,增强数据的关联性。通过定义结构体为矩形增加语义,明确宽度和高度的关系。使用单独的变量定义矩形的宽度和高度,并通过。输出了计算过程中的中间值和最终的结构体值。

2025-01-11 16:48:11 1044

原创 【Rust】结构体定义域实例化

结构体是一种自定义数据类型,允许将多个相关的值组合在一起,形成一个有意义的集合。与元组不同,结构体的每个字段都有名称,这使得数据的访问和操作更加直观和清晰。结构体的灵活性体现在其命名字段上,开发者无需依赖字段的顺序来访问数据,从而减少了错误的可能性。使用struct关键字定义结构体,并为其命名。结构体名称应具有描述性,能够清晰地表达其代表的含义。在大括号内定义字段的名称和类型。字段的类型可以是Rust中的任意数据类型,包括基本类型、复合类型或其他结构体。// 定义结构体// 创建结构体实例。

2025-01-11 15:47:55 773

原创 【Rust】切片类型

切片是一种引用类型,允许我们引用集合(如字符串、数组等)中的连续元素序列,而不需要引用整个集合。切片本身并不拥有数据,因此它不会转移所有权。这种特性使得切片在处理大型数据集时非常高效,同时避免了不必要的内存复制。字符串切片是对字符串部分的引用,形式为,其中start和end是切片的起始和结束位置。切片内部存储了起始位置和长度信息,确保引用的有效性。

2025-01-11 14:35:09 758

原创 【Rust】引用与借用

Rust通过生命周期(lifetime)机制确保引用在使用期间始终指向有效的内存区域,避免了悬空引用的问题。Rust禁止在同一作用域内同时存在多个可变引用,以防止数据竞争(data races)。引用是一种指向数据的指针,但与裸指针不同,Rust的引用在编译时受到严格的规则约束,确保其始终指向有效的内存区域。借用是指在不获取数据所有权的情况下,通过引用访问或修改数据的过程。Rust强制要求在同一时间只能有一个可变引用,或者多个不可变引用,但两者不能共存。允许多个不可变引用同时存在,确保数据的一致性。

2025-01-10 22:16:40 986

原创 【Rust】所有权

所有权是一套规则,用于管理Rust程序如何使用内存。Rust通过所有权系统来管理内存,编译器会检查这些规则的遵守情况。违反任何规则将导致程序无法编译。所有权的特点是不会影响程序的运行速度。

2025-01-10 20:22:30 1216

原创 【Rust】控制流

控制流是编程语言的基本构建块,Rust使用。条件必须是布尔类型,如果条件不是布尔类型,将会报错。表达式允许根据条件分支执行不同的代码块。表达式和循环来控制代码的执行流程。

2025-01-10 16:12:26 752

原创 【Rust】函数

定义方式:通过fn关键字后接函数名和一对括号来定义函数。代码示例println!");println!调用函数:可以在main函数内调用其他已定义的函数,如。

2025-01-10 15:24:19 925

原创 【Rust】数据类型

Rust是一种静态类型语言,所有变量的类型在编译时必须明确。Rust支持两种主要的数据类型:标量类型和复合类型。

2025-01-10 14:40:00 757

原创 【Rust】变量与可变性

不可变性:常量是始终不可变的,使用const关键字声明,且必须注释类型。作用域:常量可以在任何作用域中声明,包括全局作用域,适用于需要多个部分共享的值。

2025-01-10 13:34:47 421

原创 代码生成提示词

提示词:代码生成、审核、优化;生成算法、类、模块;单元测试。

2024-09-15 15:01:36 577

原创 基于Boosting的四种机器算法的简单运用

本文汇总有Adaboost、GBDT、XGBoost、LightGBM四种算法的简单运用,而不是原理介绍。

2024-08-13 14:53:52 1752

原创 Python添加虚拟环境、安装库、添加jupyter虚拟内核相关操作

虚拟环境、镜像源、安装库、jupyter虚拟环境内核

2024-08-12 02:46:21 661

原创 常见机器学习算法汇总

简单汇总一下机器学习算法,方便记忆。

2024-08-08 15:41:55 3081

基于Boosting的四种算法简单运用.ipynb

内容概要:本文包含AdaBoost、GBDT、XGBoost、LightGBM四种机器学习算法的简单运用,每种算法又分为分类和回归两项。 运行环境:jupyter notebook 适用人群:初学者;需要一个基本模型的开发人员 使用场景及目标:对数据集进行分类和回归、预测等 阅读建议:此资源为简化版Boosting相关算法(AdaBoost、GBDT、XGBoost、LightGBM)编程,主要依赖于scikit-learn API,依次利用四种模型的分类和回归接口(共8种)对数据集如iris等,进行优化分析,同时还包含了对回归的预测值与真实值进行数据可视化。 特点:直观,易懂

2024-08-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除