刷新
rust学习三、基本类型

本文内容摘自<<The rust programming language>>,作者:美国的steve klabnik ,Carol nichols。 中国工信出版社2020年出版,但在国外据说是2018年出版的。 关于本人的入门大部分来自此书。 不过此书由于出版的时间较早(假定是2018),那么那 ...

Rust的Reborrow机制

博主头像 最近,在使用Rust时遇到了Reborrow的概念,记录下来以备以后参考。 1. 起因 起因准备对数据进行Min-Max标准化处理,也就是将一系列数据映射到一个新的范围。 首先,需要遍历数据,找出其中的最大值和最小值,然后通过公式改变原始数据集的值。 Min-Max公式:标准化后的值 = (原始值 ...

Rust宏之derive的设计及实战

博主头像 Rust宏可以极大的简化编写的难度,学习好宏可以更好的减少冗余代码。 宏的基本概念 Rust中的宏可以分为两大类:声明宏(Declarative Macros)和过程宏(Procedural Macros)。 声明宏:也称为macro_rules!宏,使用macro_rules!关键字定义。它是一种 ...

函数

博主头像 Rust 代码中的函数和变量名使用 snake case 规范风格。在 snake case 中,所有字母都是小写并使用下划线分隔单词。这是一个包含函数定义示例的程序: fn main() { println!("Hello, world!"); another_function(); } fn a ...

数据类型

博主头像 Rust 是 静态类型 (statically typed) 语言,也就是说在编译时就必须知道所有变量的类型 使用 parse 将 String 转换为数字时,必须增加类型注解,像这样: let guess: u32 = "42".parse().expect("Not a number!"); 如 ...

变量与可变性

博主头像 变量 fn main() { let mut x = 5; println!("The value of x is: {x}"); x = 6; println!("The value of x is: {x}"); } 使用 let 可以申明一个不可变的变量,变量默认是不可改变的(immutabl ...

Rust 中的 HashMap 实战指南:理解与优化技巧

博主头像 Rust 中的 HashMap 实战指南:理解与优化技巧 在 Rust 编程中,HashMap 是一个强大的键值对数据结构,广泛应用于数据统计、信息存储等场景。在本文中,我们将通过三个实际的代码示例,详细讲解 HashMap 的基本用法以及如何在真实项目中充分利用它。此外,我们还将探讨 Rust 的 ...

rustlings 学习随笔

博主头像 序言 rustlings 是一个关于rust的练习题的项目.可以帮助大家通过完成一个项目的方式练习rust的语法,我认为对于补充我rust现学现卖过程中的情况很有帮助. 下边是GPT对它的介绍: Rustlings 是专为那些想要学习 Rust 编程语言的人设计的一个交互式练习集合。无论你是编程新手 ...

Rust字符串类型全解析

博主头像 字符串是每种编程语言都绕不开的类型, 不过,在Rust中,你会看到远比其他语言更加丰富多样的字符串类型。 如下图: 为什么Rust中需要这么多种表示字符串的类型呢? 初学Rust时,可能无法理解为什么要这样设计?为什么要给使用字符串带来这么多不必要的复杂性? 其实,Rust中对于字符串的设计,优先考 ...

Leetcode 2453. Destroy Sequential Targets | rust 实现

博主头像 题解 问题描述 给定一个整数数组 nums 和一个整数 space,我们需要找到一个目标值,使得该目标值在 nums 中的出现次数最多。如果有多个目标值出现次数相同,则返回最小的目标值。 解题思路 哈希表统计:使用哈希表 map 来统计每个 seed % space 的出现次数,题干中给出的等式等价 ...

初探 Rust 语言与环境搭建

博主头像 1. Rust 简介 Rust 的历史 起源:Rust 语言最初由 Mozilla 研究员 Graydon Hoare 于 2006 年开始设计,并于 2009 年首次公开。 开发:Rust 是 Mozilla 实验室的一个项目,目的是创建一种能够保证内存安全同时又不牺牲性能的系统编程语言。 发布: ...

Rust 之环境搭建

博主头像 前言 Rust 是一种现代的系统级编程语言,以其内存安全性、高性能和简洁的语法而著称。本文将介绍如何在不同操作系统上搭建 Rust 开发环境,并配置好基础工具,使您能够快速开始 Rust 编程。 1. 安装 Rust Rust 官方推荐使用 rustup 工具来管理 Rust 的安装和更新。rust ...

Rust项目的代码组织

博主头像 学习一种编程语言时,常常优先关注在语言的语法和标准库上,希望能够尽快用上新语言来开发,我自己学习新的开发语言时也是这样。 不过,想用一种新的语言去开发实际的项目,或者自己做点小工具的话,除了语言本身之外,了解它在项目中如何组织代码也是至关重要的。毕竟在实际项目中,不可能像学习语言时那样,常常只有一个 ...

Rust中 String、str、&str、char 的区别

博主头像 先上结论 String 是动态分配在堆上的可变长度字符串类型。 str 是字符串切片类型,通常以 &str 的形式出现,用于引用字符串字面量或 String 的一部分。 &str 是字符串字面量的类型,以双引号创建,通常用于传递字符串数据的引用。 char 是单个 Unicode 字符类型,以单引号 ...

使用 Rust 语言编写 Java JNI 实现

博主头像 前言 Rust 语言是近几年来编程语言界的新秀之子,因其严格的内存安全保障机制而备受众多程序员的青睐与推崇。而 Rust 语言除了可用于编写独立运行的二进制程序以外,亦可用于编写动态链接库并被第三方程序动态加载调用。笔者趁 Rust 学习途中就动手借助 jni crate 从而使用 Rust 语言通 ...

Rust——猜谜游戏【二】

博主头像 前言 让我们一起动手完成一个项目,来快速上手 Rust!本章将介绍 Rust 中一些常用概念,并向您展示如何在实际项目中运用它们。您将会学到 let、match、方法、关联函数、引用外部 crate 等知识!后续章节会深入探讨这些概念的细节。 内容 我们会实现一个经典的新手编程问题:猜数字游戏。这是 ...

用Rust和Pingora轻松构建高效负载均衡器

博主头像 目录 什么是Pingora? 实现过程 初始化项目 编写负载均衡器代码 代码解析 部署 总结 1. 什么是Pingora? Pingora 是一个高性能的 Rust 库,用于构建可负载均衡器的代理服务器,它的诞生是为了弥补 Nginx 存在的缺陷。 Pingora 提供了丰富的功能和高度的扩展性,适 ...