- 博客(24)
- 收藏
- 关注
原创 深入理解 Rust 的枚举与结构体定义:从类型系统到工程设计
Rust 的枚举与结构体是构建类型系统的关键组件。本文深入解析了它们的底层机制、工程实践与组合应用。Rust 结构体分为普通结构体(面向领域建模)、元组结构体(高效封装)和单元结构体(零成本标记)。枚举支持带数据的变体,可表达状态机等复杂逻辑。二者组合可构建层级模型(如文件系统)。通过模式匹配和内存优化,Rust 实现了零成本抽象的安全类型系统,为工程设计提供强大支撑。
2025-10-30 12:17:36
912
原创 深入理解 Rust 泛型参数的使用与工程实践
Rust 泛型系统精要总结 Rust 泛型系统通过单态化实现零成本抽象,兼具类型安全与高性能: 泛型函数/结构体:编译时为每种类型生成专用代码 Trait Bound:限制泛型类型行为,提供编译期约束 静态分发(impl Trait):零运行时开销,编译期展开 动态分发(dyn Trait):运行时多态,支持多类型共存 工程实践:通用缓存模块等场景展现泛型优势,需注意编译膨胀等陷阱 Rust 泛型完美平衡了表达力与性能,是构建高效可复用代码的核心机制。
2025-10-30 12:14:11
888
原创 深入理解 Rust 控制流(if / loop / while / for)的工程实践
Rust 控制流工程实践摘要 Rust 的 if/loop/while/for 控制流结构具有独特特性:if 是表达式可返回值;loop 支持带值 break;for 基于迭代器且有所有权语义。关键实践包括: 优先使用表达式风格的 if 和 loop 返回值 loop 适用于多出口场景,配合标签实现精确控制 for 循环需注意集合所有权问题,可用 iter()/iter_mut() while let 适合渐进消费 Option/Result/迭代器 性能优化技巧:减少分支预测失败、合并遍历操作、内联热循环
2025-10-30 12:11:03
1037
原创 Rust 迭代器的性能优化技巧
Rust 迭代器性能优化指南 Rust 的迭代器提供了强大的链式操作能力,但不当使用会导致性能问题。本文分析了迭代器的惰性求值特性及其常见性能瓶颈,如不必要的内存分配和冗余遍历。关键优化技巧包括:减少中间集合创建、使用fold()合并操作、预分配内存以及优化链式调用方式。通过合理应用这些方法,可显著提升大数据处理场景下的迭代器性能。性能测试表明,fold()通常比map+filter组合更高效。掌握这些优化技巧有助于编写既简洁又高效的Rust代码。
2025-10-30 12:06:20
916
原创 领略 Rust 抽象之美:自定义迭代器实现全解析
Rust 自定义迭代器实现指南 文章深入剖析了 Rust 中 Iterator 特质的核心设计原理与实践方法,主要包含三个部分: 技术解读:解析 Iterator 特质的关键设计,包括 type Item 类型声明和 next(&mut self) 方法签名,强调其状态机模型和 Option 返回值的优雅错误处理机制。 简单实践:通过实现一个计数器迭代器 Counter,展示了基本迭代器实现步骤,并解释了 for 循环自动支持 Iterator 类型的底层机制。 专业实践:以自定义 MyVec 类型
2025-10-30 12:01:59
1035
原创 深入理解 Rust `HashMap` 的哈希算法与冲突解决机制
本文深入解析了 Rust `HashMap` 的底层机制,包括其默认哈希算法 `SipHash-1-3` 的安全与性能权衡、开放寻址与二次探测的冲突解决策略,以及装载因子与扩容逻辑。文中通过代码示例展示自定义哈希器与性能实验,结合表格与思维导图,总结优化策略,帮助开发者在实际项目中高效、安全地使用 `HashMap`。
2025-10-29 23:50:09
967
原创 python-谁是卧底小游戏
python游戏源码——谁是卧底小游戏谁是卧底小游戏python游戏源码——谁是卧底小游戏一.游戏讲解二.游戏全代码三.作者说明一.游戏讲解先是导入模块以便后面程序需要。# 谁是卧底小游戏import time #导入时间模块import random #导入随机数模块欢迎进入游戏print("——————————————欢迎来到‘谁是卧底’———————————————")print('你是4号哦')print('当系统觉得不合理时会自动减票或加票')创造需要的变量
2021-08-03 21:54:21
1259
3
原创 python09——函数3
python09——函数31. 高阶函数2. 闭包3. 装饰器的引入4. 装饰器的使用1. 高阶函数接收函数作为参数,或者将函数作为返回值返回的函数就是高阶函数2. 闭包将函数作为返回值也是高阶函数我们也称为闭包闭包的好处通过闭包可以创建一些只有当前函数能访问的变量可以将一些私有数据藏到闭包中行成闭包的条件函数嵌套将内部函数作为返回值返回内部函数必须要...
2020-04-28 15:10:35
375
2
原创 python09——函数2
python09——函数21. 函数的返回值2. 文档字符串3. 函数的作用域4. 命名空间5. 递归函数1. 函数的返回值返回值就是函数执行以后返回的结果通过return来指定函数的返回值return后面可以跟任意对象,返回值甚至可以是一个函数2. 文档字符串help()是Python中内置函数,通过help()函数可以查询Python中函数的用法在定义函数时,可以在函数内部...
2020-04-25 19:39:26
560
原创 python09——函数1
python09——函数11. 函数简介2. 函数的参数2.1 形参和实参2.2函数的传递方式3 不定长参数4 参数的解包1. 函数简介函数也是一个对象函数用来保存一些可执行的代码,并且可以在需要时,对这些语句进行多次调用语法def 函数名([形参1,形参2,形参3....]): 代码块注意:函数名必须符合标识符的规范(可以包含字母、数字、下划线但是不能以数字开头)p...
2020-04-25 19:28:40
377
原创 07——python列表
07——python列表1. 序列(sequence)1.1 基本概念1.2 序列的分类2. 列表(list)2.1 列表的使用2.2 切片3. 通用操作4. 修改列表5. 列表的方法6. 遍历列表6.1 for循环6.2 range(start, stop[, step])1. 序列(sequence)1.1 基本概念序列是Python中最基本的一种数据结构。序列用于保存一组有序的数据,...
2020-04-22 13:28:01
197
1
原创 08 python —— 元组&字典&集合
08 python —— 元组&字典&集合1. 元组简介2. 可变对象3. 字典简介3.1 字典的基本介绍3.2 字典的使用3.3 copye()4. 遍历字典5. 集合5.1 集合简介5.2 集合的运算1. 元组简介元组基本介绍元组表现形式tuple元组是一个不可变序列(一般当我们希望数据不改变时,我们使用元组,>其他情况下基本都用列表)使用()创建元素元组...
2020-04-21 16:52:32
229
原创 python 运算符——04
python 运算符——041.运算符1.1 运算符的概念运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。例如:2+3,其操作数是2和3,而运算符则是“+”。1.2 运算符的分类• 算术运算符• 赋值运算符• 比较运算符(关系运算符)• 逻辑运算符• 条件运算符(三元运算符)2.算术运算符• 加法运算符 表现形式 +• 减法运算符 表现形式 -• 乘法...
2020-04-11 11:07:59
262
原创 python时钟源码
python时钟源码话不多说,代码如下# encoding: utf-8"""@version: ??@author: @file: 时钟.py@time: 2020/4/9 21:43"""import sys, random, math, pygamefrom pygame.locals import *from datetime import datetime, dat...
2020-04-10 08:49:37
1769
2
原创 03——python基本数据类型
03——python基本数据类型1基本内容1几个概念表达式语句程序(program)函数(function)2.标识符关键字标识符概念 3.基本数据类型整数和小数布尔值和空值4.字符串什么是字符串转义字符长字符串格式化字符串占位符字符串的其他操作5.变量变量的概念变量的运算2.主要几个概念1.1 表达式表达式,是由数字、算符、数字分组符号(括号)...
2020-04-09 09:33:49
586
原创 python中print type的用法
python中print type的用法一.python中type() 函数返回对象的类型,print函数为打印结果,验证如下,1、WIN+R快捷键,打开运行窗口,准备进入python环境,2、敲入python,进入python环境,如下,3、分别敲入 type(1), type(‘a’), type([1,2]),输出分别为 int、str、list类型,4、分别敲入prin...
2020-04-08 15:49:40
19004
原创 python中while用法
python中while用法例子:a=1while a<=10: print(a) a+=2输出结果:这段代码的意思是:a的初始值是1,判断条件是:如果a<10,则打印a,之后在返回的a的基础上加2,,如果a<10,这个程序就一直执行;如果a不小于10,则终止程序。显然,第五次返回的值是9,9加2等于11,11不小于10,程序终止。若想知道更多内...
2020-04-08 15:31:09
1222
原创 python画板——画樱花
python画板——画樱花话不多说,直接上源码,代码如下import turtle as Timport randomimport time# 画樱花的躯干(60,t)def Tree(branch, t): time.sleep(0.0005) if branch > 3: if 8 <= branch <= 12: ...
2020-04-07 15:57:50
899
1
原创 python简易BMI测体重
python简易BMI测体重代码如下,望对你有用height=float(input("请输入你的身高(单位为米):"))weight=float(input("请输入你的体重(单位为千克):"))bmi=weight/(height*height)print("你的真实BMI指数为:"+str(bmi))bmi_a=int(bmi)bmi=str(bmi_a)print("去零B...
2020-04-06 11:01:15
1532
5
原创 python文字游戏——0基础
python文字游戏——0基础此代码为python0基础学习,内容可改动话不多说,代码如下print("_____________测一测______________")abd=int(input("请输入你最喜欢的数字(请填1—10):"))if(abd==1)or(abd==6)or(abd==8): print("通过,还可以•̀ ω •́ ✧")else: p...
2020-04-06 10:51:40
779
原创 python画板——小猪佩奇
python画板——小猪佩奇话不多说,直接上源码# coding:utf-8import turtle as t t.pensize(4)t.hideturtle()t.colormode(255)t.color((255,155,192),"pink")t.setup(840,500)t.speed(10) #鼻子t.pu()t.goto(-100,100)t.pd...
2020-04-06 10:25:57
854
原创 python游戏源码——2绘画简易坦克
python游戏源码——2绘画简易坦克欢迎大家来看我的博客话不多说,源码如下print(''' > 人生苦短,我用pyhon. | __\--__|____ ||=======OOOOO[/ ⭐007__| ...
2020-04-06 10:11:46
2831
原创 python游戏源码——1.贪吃蛇
python游戏源码——1.贪吃蛇话不多说,直接上源码"""贪吃蛇小游戏"""import randomimport sysimport timeimport pygamefrom pygame.locals import *from collections import dequeSCREEN_WIDTH = 600SCREEN_HEIGHT = 480SIZE = ...
2020-04-06 09:52:26
30326
61
原创 python要点——干货
python要点1. Python语言1.1 Python语言的基本概念1.2Python 的特色1.3Python的发展及应用2.搭建环境2.1Python的解释器2.2搭建Python环境2.3Python的交互模式2.4 pip工具的使用2.5 Python的第一个程序3.PyCharm的安装和配置3.1PyCharm的安装3.2 PyCharm的简单配置1. Python语言1.1 P...
2020-04-04 09:38:46
735
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅