刷新
数据类型

博主头像 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中对于字符串的设计,优先考 ...

在Windows10中使用rust的diesel库

博主头像 介绍 最近在学习Actix Web时,需要用到数据库操作,简单尝试了一下diesel,也遇到了一些问题。在这里记录一下,供大家参考。 1.安装 根据Diesel官网介绍,使用cargo binstall安装diesel cli。 cargo binstall diesel_cli 如果报错 erro ...

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 提供了丰富的功能和高度的扩展性,适 ...

用Rust实现单例

1. 使用Arc + Mutex 在这个例子中,我们使用了 Arc (原子引用计数)和 Mutex (互斥锁)来实现线程安全的单例。通过 get_instance 方法,我们可以获取到单例实例,并对实例进行操作。 use std::sync::{Arc, Mutex}; struct Singlet ...

使用pest创建rust的语法解析器

背景 最近有机会接触了pest,一个优雅的通过使用Parsing Expression Grammar or PEGs 来生成语法解析器,正好借助博客园这个平台,来分享一下自己的学习心得,也希望可以借助这个机会,和同行们互相切磋,互相提高。 什么是 Parsing Expression Gramma ...

Rust 实现日志记录功能

博主头像 目录log 日志库标准简单示例使用方法库的开发者应用开发者日志库开发者使用 log4rs添加依赖配置文件运行项目参考文章 log 日志库标准 log 是 Rust 的日志门面库,由官方积极维护可以放心使用。它是Rust的日志门面,相应的日志 API 已成为事实上的标准被其它日志框架所使用,有了日志门 ...