【编程开发】Rust 语法速查 & 例子 - 函数 & 行为

AI Toolbox:Rust+Tauri打造的本地AI工具链中枢 AI工具链管理是开发者在本地集成Stable Diffusion、Codex等多模型服务时的核心工程挑战。其本质是解决CLI配置分散、进程状态不可控、跨环境同步困难等运维痛点。基于Rust与Tauri构建的桌面应用,通过嵌入式SurrealKV实现零依赖本地存储,以模块化设计抽象出可插拔的能力单元,并深度适配WSL2等真实开发场景。该方案不替代模型能力,而是提升AI工作流的确定性、可观测性与安全性,适用于需高频操作Docker、Python虚拟环境、Git及本地WebUI的中高级工程师。 阅读详情

本系列是学习 Rust 的学习笔记,本编主要对 https://cheats.rs/ 的语法速查表进行翻译学习

定义代码单元及其抽象。

示例说明
trait T {}定义一个特性; 通常用于其他类型可以实现的通用行为。
trait T : R {}T是超特性R的子特性。任何S在实现T之前必须先实现R。
impl S {}为类型S实现的实现功能,例如方法。
impl T for S {}为类型S实现特性T。
impl !T for S {}禁用自动派生的自动特性。
fn f() {}定义一个函数; 或者如果在impl内部则是关联函数。
    ~~~~    fn f() -> S {}相同,返回类型为S的值。
    ~~~~    fn f(&self) {}定义一个方法,例如,在impl S {}内。
const fn f() {}在编译时可用的常量fn,例如,const X: u32 = f(Y)。
async fn f() {}异步函数转换,使f返回一个impl Future。
    ~~~~    async fn f() -> S {}相同,但使f返回一个impl Future<Output=S>。
    ~~~~    async { x }在函数内部使用,使{ x }成为一个impl Future<Output=X>。
fn() -> S函数指针,持有可调用的地址的内存。
Fn() -> S可调用特性(也有FnMut、FnOnce),由闭包、fn等实现。
| | {}一个闭包,借用其捕获(例如,一个局部变量)。
    ~~~~    |x| {}接受一个名为x的参数的闭包,主体是块表达式。
    ~~~~    |x| x + x相同,没有块表达式; 只能由单个表达式组成。
move |x| x + y拥有其捕获的闭包;即,y转移到闭包中。
return | true有时闭包看起来像逻辑或(这里: 返回一个闭包)。
unsafe如果你喜欢在周五晚上调试段错误; 不安全的代码。
    ~~~~    unsafe fn f() {}意味着“调用可能会导致UB,你必须检查要求”。
    ~~~~    unsafe trait T {}意味着“T的粗心实现可能导致UB;实现者必须检查”。
    ~~~~    unsafe { f(); }向编译器保证“我已经检查过要求,相信我”。
    ~~~~    unsafe impl T for S {}保证 S在T方面行为良好;人们可以安全地在S上使用T。

函数 & 行为 的简单示例:

  1. 特性(Traits)

    • 特性是 Rust 中用于定义共享行为的一种机制。
    • 示例:定义一个特性 Drawable,表示可绘制的对象,其中包含一个方法 draw。
    trait Drawable {
        fn draw(&self);
    }
    
  2. 超特性(Supertraits)

    • 超特性是一个特性可以继承其他特性的方法。
    • 示例:定义一个特性 Shape,它继承了 Drawable,表示形状对象。
    trait Shape: Drawable {
        // 其他方法定义
    }
    
  3. 实现(Implementation)

    • 实现是为类型提供特性的具体实现。
    • 示例:为结构体 Circle 实现 Drawable 特性。
    struct Circle {
        // 结构体字段
    }
    
    impl Drawable for Circle {
        fn draw(&self) {
            // 绘制圆形的具体实现
        }
    }
    
  4. 特性实现(Trait Implementation)

    • 特性实现是为类型提供特性的具体实现。
    • 示例:为结构体 Rectangle 实现 Shape 特性。
    struct Rectangle {
        // 结构体字段
    }
    
    impl Shape for Rectangle {
        // 实现 Shape 特性的方法
    }
    
  5. 自动特性(Auto Traits)

    • 自动特性是由编译器自动生成的一种特性。
    • 示例:禁用自动实现 Send 和 Sync 特性。
    struct MyType;
    
    unsafe impl !Send for MyType {}
    unsafe impl !Sync for MyType {}
    
  6. 函数定义和使用

    • 函数是用于执行特定任务的代码单元。
    • 示例:定义一个函数 add,用于求两个整数的和。
    fn add(x: i32, y: i32) -> i32 {
        x + y
    }
    
  7. 异步函数

    • 异步函数是一种特殊类型的函数,可以在执行期间挂起并在后续恢复执行。
    • 示例:定义一个异步函数 fetch_data,用于从远程服务器获取数据。
    async fn fetch_data(url: &str) -> Result<String, Error> {
        // 异步请求数据并返回结果
    }
    
  8. 闭包

    • 闭包是一种可以捕获其环境并在稍后执行的匿名函数。
    • 示例:定义一个闭包,用于计算两个数字的和。
    let add_closure = |x, y| x + y;
    let result = add_closure(3, 5);
    println!("Result: {}", result); // 输出:8
    
Codex Desktop App:本地化编程助手的开箱即用实践指南 编程助手是当前AI赋能开发的核心入口,其本质是将自然语言指令转化为可执行代码的智能接口。原理上依赖大模型的代码理解与生成能力,并通过安全、低延迟的API网关实现人机交互。技术价值在于降低编程门槛,让非专业开发者也能高效完成脚本编写、错误诊断、SQL生成等任务。典型应用场景包括运维自动化、报错解读、跨平台代码辅助等,尤其适合不熟悉命令行或VS Code插件生态的初学者与企业内训场景。本文聚焦于Codex Desktop App这一高成熟度的桌面端实现,深入解析其Electron+Rust架构设计、中文界面深度 阅读详情

相关推荐

OpenCode:基于LSP与AI编程代理的终端原生开发工作流

现代软件开发正从IDE中心化向协议统一化演进,Language Server Protocol(LSP)作为跨语言语义服务的事实标准,为工具链解耦提供了底层支撑;而AI编程代理则突破了传统代码补全的边界,成为具备上下文感知、状态保持与自主执行能力的本地协作者。OpenCode并非终端美化方案,而是以纯终端为唯一交互界面,将LSP作为神经中枢、AI代理作为决策大脑、命令大全作为可编程肌肉系统的全新开发范式。它适用于需高频调用git/docker/kubectl等CLI工具的中高级开发者,尤其在多项目并行、CI

weixin_34195364的博客 539

【Rust】——项目实例:——命令行实例(一)

🎯接收命令行程序 🎃读取参数 🎃将参数值保存进变量 🎯读取文件 🎯重构 🎃二进制项目的关注分离 🎃提取参数解析器 🎃组合配置值 🎃修复错误处理 ✨改善错误信息 🎃从new中返回一个Result 🎃调用config::build并处理错误 🎃从main提取逻辑 🎃从run函数中返回错误 🎃处理main中run返回的错误 🎃将代码拆分到库crate

shsjssnn的博客 3813

Lithe-IDEA:基于Rust引擎的轻量级Java/Spring Boot开发工具

现代Java开发面临IDE启动慢、内存占用高、索引卡顿等核心痛点,其根源在于传统IDE架构中UI、业务逻辑与底层索引的深度耦合。通过引入Rust重写的零拷贝并发索引引擎和协议化Java语言服务(JLS),Lithe-IDEA实现了内存可控、启动极速、上下文智能识别的技术突破。它不依赖运行时即可完成Spring Boot Bean图谱渲染、Actuator端点静态补全与四层架构可视化,显著提升中大型微服务项目的开发效率。面向真实工程场景,支持国产中间件适配与信创环境部署,是Java开发者在性能与智能间取得新平

weixin_33797791的博客 352

Rust语言编程实例

求当m = 3, n = 6时的值。古典问题(兔子生崽):有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?现在有个需求,要求你打印一个有6个台阶的楼梯,同时从上向下数,在楼梯的第4节台阶有个足球。4、可得: m = (i + j) / 2, n = (i - j) / 2,i 和 j 要么都是偶数,要么都是奇数。3、设置: m + n = i,m - n = j,i * j =168,i 和 j 至少一个是偶数。

qq_52876054的博客 1474

HDDSuperClone 数据克隆实战:坏盘扇区级备份与 Rust 跨平台工具解析

扇区级数据克隆是一种绕过文件系统、直接对存储设备底层扇区进行逐块复制的技术,其原理在于通过精细控制读取重试、超时与坏区跳过策略,在源盘状态不佳时最大限度保全数据。相比文件级复制,该技术能避免坏道扩散、保留完整分区结构,在数据恢复、老旧硬盘迁移等场景中具有关键价值。Rust 语言凭借内存安全与跨平台构建优势,正成为此类底层工具的新选择。本文以 HDDSuperClone 为例,完整拆解命令行参数调优、分段克隆流程与踩坑经验,帮助运维与普通用户安全完成坏盘数据迁移。

weixin_34411563的博客 348

Grok Build:终端原生AI编程搭档的原理与工程实践

终端AI不是浏览器替代品,而是基于CLI、TUI和headless架构重构开发者工作流的智能基础设施。其核心原理在于Rust异步运行时(tokio)+跨平台ANSI渲染(crossterm)实现毫秒级响应TUI,配合无状态headless模式严格遵循Unix哲学,支持CI/CD、Git Hook等自动化场景。技术价值体现在低资源占用(<15MB内存)、全平台兼容(含树莓派SSH环境)及可编程性——通过ACP协议暴露JSON-RPC接口,使AI能力可被VS Code、Obsidian甚至自研工具直接集成。关键

张 作强 BLOG 435

Rust学习通过例子学习Rust(1)

通过例子学习rust

weixin_38892398的博客 340

Trae与Claude Code深度对比:系统级沙盒vs对话式IDE的开发范式之争

AI编程工具正从代码补全迈向开发环境重构。Trae代表系统级整合范式,以独立沙箱、gRPC服务和Rust技能(Skill)实现文件管理、依赖注入与Docker化等全生命周期自动化;Claude Code则立足编辑器增强,依托VS Code Extension API,通过自然语言驱动代码生成与重构,聚焦单次意图到代码的高效转化。二者技术价值迥异:前者优化环境搭建与协作一致性,后者提升编码意图表达效率。典型应用场景包括FastAPI认证API快速搭建、遗留项目现代化改造及团队标准化交付。理解其底层架构差异——

weixin_33933118的博客 471

rust语言示例

以下是一些 Rust 语言的核心特性示例,涵盖。

leijmdas的专栏 649

新手 学Rust 开发 一些简单例子

Fortran编程基础与简单示例 Rust 是一种系统编程语言,以其安全性、并发性和性能而闻名。它旨在提供内存安全,同时保持与 C 和 C++ 类似的性能。以下是一些 Rust 开发的入门步骤和简单例子。 环境搭建 安装 Rust:访问 Rust 官方网站 https://www.rust-lang.org/ 并按照指示安装 Rust 编译器 rustc 和包管理器 cargo。 验证安装:打开终端或命令提示符,输入 rustc --version 和 cargo --version 来检查是否安装成功。 创建项目:使用 Cargo 创建一个新的 Rust 项目: cargo new my_rust_project cd my_rust_project 项目结构:Cargo 会为你的项目创建一个基本结构,

Aitoearn内容营销的最佳开源 AI 代理,创建 · 发布 · 互动 · 副业一站式平台,支持渠道:抖音、小红书(红点)、微信通道、快手、哔哩哔哩、微信公众号、抖音等等

Aitoearn内容营销的最佳开源 AI 代理,创建 · 发布 · 互动 · 副业一站式平台,支持渠道:抖音、小红书(红点)、微信通道、快手、哔哩哔哩、微信公众号、抖音等等

struggle2025的博客 1749

快速上手 Rust——实用示例

在本节中,我们通过一系列实用示例展示了 Rust 在文件操作、网络请求、并发编程、命令行工具以及数据库操作等方面的应用。通过这些示例,您可以更好地理解 Rust 的特性,并将其应用于您的项目中。在这一节中,我们将通过一系列实用的示例来帮助您更好地理解 Rust 的特性,并展示如何在实际项目中使用这些特性。以下示例将展示如何编写一个简单的命令行工具,该工具能够接收用户输入并执行基本的文本操作。以下是一个简单的命令行工具,它接受用户输入的字符串并返回字符串的长度和反转结果。在这个示例中,我们将使用。

好看资源网的博客 1965

CTP-API开发系列之三:柜台系统简介

综合交易平台(Comprehensive Transaction Platform,CTP)是专门为期货公司开发的一套期货经纪业务管理系统,由交易、风险控制和结算三大系统组成。接下来分享的内容,对于期货公司的负责交易、运维同事会比较熟悉,针对CTP-API接口对接的朋友可以了解一下,在接口之上的系统是怎样的。

码上助君的专栏 6198

3步体验wav2vec2-xls-r-300m-pashto:用pipeline听懂普什图语

wav2vec2-xls-r-300m-pashto 是一个基于 wav2vec2 预训练模型微调而来的**普什图语(Pashto)语音识别模型**,采用 CTC 架构,在 FLEURS 数据集的 ps_af(普什图语·阿富汗)子集上训练完成。对新手来说,只需 3 步就能用 Hugging Face 的 `pipeline` 接口跑通推理,让机器"听懂"普什图语并把音频转成文字。 ## 📦 这

gitblog_01170的博客 866

MS1030超声波流量计电路实战:如何用15ps精度优化水表设计(附配置代码)

本文深入探讨了如何利用MS1030超声波流量计芯片实现15ps高精度测量,以优化水表设计。文章从系统误差分配出发,详细解析了硬件电路设计要点、SPI通信配置及核心优化技巧,如利用可编程偏置电压和8回波累加功能来提升抗干扰能力与测量稳定性,并附有实用的配置代码示例。

svm4gardener的博客 334

Android应用开发从零到一:基于Kotlin与Jetpack Compose的完整实践指南

移动应用开发的核心在于构建一个架构清晰、可维护且可扩展的应用基础。理解应用架构的原理,如关注点分离和数据驱动UI,是实现高质量应用的关键技术价值。在现代Android开发中,Kotlin语言凭借其空安全特性和协程,能有效提升代码的健壮性与开发效率。Jetpack Compose作为声明式UI框架,代表了UI开发的未来方向,与Kotlin协程深度集成,简化了复杂交互界面的构建。这些技术共同服务于个人任务管理、企业工具等多种应用场景。本文以构建一个完整的个人任务管理应用为例,系统阐述从环境搭建、UI构建、数据持

weixin_32667955的博客 313

VSCode搭建Rust开发环境:从工具链安装到调试配置全指南

系统编程语言Rust以其内存安全和高性能特性,正成为现代软件开发的重要选择。其核心工具链基于rustup进行版本管理,配合cargo构建系统实现高效的依赖管理与项目构建。在工程实践中,一个高效的集成开发环境能极大提升开发体验与调试效率。Visual Studio Code(VSCode)凭借其轻量级架构与丰富的插件生态,成为搭建Rust开发环境的理想选择。通过配置rust-analyzer插件,开发者可以获得智能代码补全、实时错误检查和精准的类型提示。结合CodeLLDB等调试工具,可以实现断点调试和变量查

weixin_30919571的博客 340

PMSM无感foc控制(滑模-反正切-PLL)【仿真模型搭建教程】(附模型)

本文主要目的是教大家如何把文献中的公式转换成仿真模型。 首先介绍滑模控制的原理及如何搭建simulink模型。 1.1基于反电势估计位置原理 永磁同步电机在静止坐标系αβ下的电压方程: 扩展反电动势包含转子位置信息,并且αβ轴下扩展反电动势的反正切函数正好就等于位置角theta。 1.2 滑模控制原理(比较重要的点是以电机电流模型推导展开) 通过滑模观测得到鲁棒性比较高的αβ轴下扩展反电动势,并求其反正切函数,得到位置信息。 /*********************...

weixin_44769876的博客 1万+

VoxCPM 完全指南:无分词器 TTS 的架构原理、Python API 与 CLI 实战

VoxCPM 是 OpenBMB 开源的端到端语音合成系统,它绕开离散音频 token,直接在连续空间建模语音,从而实现上下文感知的富有表现力合成与零样本音色克隆。本文以仓库 README 为主线,完整梳理模型版本差异、安装与下载、Python 与命令行两种调用方式、参数调优逻辑、微调与常见限制,并结合 `src/voxcpm` 下的源码解释每个参数在实现层真正做了什么。 ## 一、VoxCPM

gitblog_00384的博客 459

雨雾天YOLOv8检测拉胯?暗通道去雾+上下文注意力双优化,mAP从58%飙到79%,暴雨也能看清车牌

室外交通监控:高速、省道的雨雾天检测,重点解决小车、货车漏检;车载ADAS系统:雨天行车时的前方车辆、行人识别,需实时性(<40ms);隧道出入口:明暗交界+雾天的复杂场景,暗通道能平衡亮度。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1380

机器人轨迹规划——梯形速度轨迹(超详细)

机器人轨迹 这一系列轨迹教程将主要包括以下内容: 点到点轨迹(P2P) 五次多项式插值轨迹 三次多项式插值轨迹 梯形速度曲线轨迹 双S形速度曲线轨迹 多个自由度轨迹的时间同步 在线轨迹规划 多项式在线轨迹规划 梯形在线轨迹规划 双S形在线轨迹规划 非线性实时轨迹滤波 多点轨迹(Multi-point) 三次样条曲线(cubic spline) 贝赛尔曲线(Bezier Curve) B样条曲线(BSpline) 时间最优轨迹 三次样条时间最优轨迹 任意路径下的时间最优轨迹 时间

出门搔白首,若负平生志 1万+

Windows安装Rust环境 Clang替代GCC MinGW环境LLVM工具链(详细教程)

Windows C/C++ 开发者长期面临 MSVC 与 GCC/MinGW 的选择困境。本文提出使用 Clang/LLVM 工具链作为理想替代方案,通过 MSVC ABI 或 MinGW-w64 ABI 两种模式实现高效开发。文章详细解析了 Clang/LLVM 在 Windows 上的两种 ABI 兼容模式(MSVC 和 MinGW-w64),比较了各自的优缺点和适用场景。同时提供了基于 MSYS2 和 llvm-mingw 的两种安装方案,并演示如何在此基础上搭建 Rust 开发环境(含国内镜像加速)

猫哥 的沉淀、积累、总结。天天学习,好好向上...c/c++,嵌入式 linux,Android,HarmonyOS,AIOT) 484

论文必备 - YOLOv13热力图可视化,支持指定模型,指定显示层,设置置信度,以及10种可视化实现方式

本文带来的是YOLOv13热力图可视化功能,支持,以及。我们经常看到一些论文里绘制了不同的热力图,一方面能够直观的感受其模型的有效性,另一方面也丰富了论文内容。特别是在使用了注意力模块的网络中,热力图就可以验证注意力机制是否真正聚焦到了预期的重要特征上,以便对模型的有效性和合理性进行评估。例如这篇文章中展示的,就很能够表达作者改进后的模型相比之前模型的优越性。

Limiiiing的博客 488

Markdown 语法超详细讲解与使用

Markdown 语法完全指南 本文系统梳理了 Markdown 的全部常用语法,包括基础语法、GFM 扩展、增强语法、HTML 内嵌等,并标注了各语法的平台兼容性。内容涵盖: 基础语法:标题、段落、字体样式、列表、代码块、链接、图片等核心功能 GFM扩展:表格、任务列表、删除线等 GitHub 特有语法 增强功能:高亮、上下标、脚注、目录等高级特性 HTML嵌入:文字样式、对齐、折叠块等复杂排版 文档可作为日常写作的速查手册,适用于从初学者到专业用户的各种需求场景。

weixin_48053866的博客 431

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Rust+WebSocket 串口转发:解决串口独占与远程调试

串口通信是嵌入式调试的基础,但操作系统对串口设备的独占式管理常导致多工具无法同时访问。通过串口转网络技术,可将物理串口数据桥接到网络通道,实现多客户端并发读取与远程访问。Rust 语言凭借内存安全、异步生态和跨平台交叉编译优势,结合 WebSocket 协议的消息边界与浏览器原生支持,能构建高性能、低延迟的串口转发服务。该方案适用于嵌入式开发、物联网设备调试及团队协作场景,有效解决串口独占问题,提升调试效率。

weixin_33911824的博客 452

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

pts 颜色正确性修复计划:从 8 个转换缺陷到 CIE 参考值测试与 Oklab 支持

本文以 pts 仓库中的 [plans/COLOR-CORRECTNESS-PLAN.md](https://link.gitcode.com/i/a12eaa1aae313b96c5576f27988131ce) 为骨架,完整还原一次针对 `src/Color.ts` 的"颜色转换正确性修复"工程计划。计划在不动核心色彩数学的前提下,通过"先测试、后修复"的红绿节奏,解决了 `normalize

gitblog_00980的博客 388

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

上一篇: 【软件工具】 Inno Setup 帮助翻译 - 7. 组件和任务参数
下一篇: 【编程开发】Rust 语法速查 & 例子 - 控制流程
星瑙提神
博客等级 码龄20年 274粉丝 20原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值