在win10上,配置 Rust 开发环境(使用 mingw64编译器) 和 idea 配置 Rust 插件
在win10上,配置 Rust 开发环境(使用 mingw64编译器) 和 idea 配置 Rust 插件
Rust UI开发(二):iced中如何为窗口添加icon图标
iced是一个跨平台的GUI库,用于为rust语言程序构建UI界面。本篇是系列第二篇,主要解决一个问题,就是为窗口添加图标icon。注:窗口图标在其他语言中,应该是非常容易实现的,但iced是一个发展中的库,很多方面还不成熟,我在用iced自己的方法测试window图标,花了很多时间,效果还不好,所
算法leetcode|90. 子集 II(rust重拳出击)
给你一个整数数组 nums ,其中可能包含重复元素,请你返回该数组所有可能的子集(幂集)。解集 不能 包含重复的子集。返回的解集中,子集可以按 任意顺序 排列。
分享六个 Vue3 开发必备的 VSCode 插件
今天分享的 6 个插件,大家可以按需安装使用。我比较强烈推荐实用Volar 和Vue VSCode Snippets 这 2 个插件。
算法leetcode|89. 格雷编码(rust重拳出击)
n 位格雷码序列 是一个由 2n 个整数组成的序列,其中: 每个整数都在范围 [0, 2n - 1] 内(含 0 和 2n - 1) 第一个整数是 0 一个整数在序列中出现 不超过一次 每对 相邻 整数的二进制表示 恰好一位不同 ,且 第一个 和 最后一个 整数的二进制
Rust 语言中的结构体
结构体和我们之前论过的元组类似,它们都包含多个相关的值。和元组一样,结构体的每一部分可以是不同类型。但不同于元组,结构体需要命名各部分数据以便能清楚的表明其值的意义。由于有了这些名字,结构体比元组更灵活:不需要依赖顺序来指定或访问实例中的值。定义结构体,需要使用struct关键字并为整个结构体提供一
算法leetcode|88. 合并两个有序数组(rust重拳出击)
给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。注意:最终,合并后数组不应由函数返回,而是存储在数组 nums1 中
Rust 中的引用与借用
所有权、借用和 slice 这些概念让 Rust 程序在编译时确保内存安全。Rust 语言提供了跟其他系统编程语言相同的方式来控制你使用的内存,但拥有数据所有者在离开作用域后自动清除其数据的功能意味着你无须额外编写和调试相关的控制代码。
esp32-rust-no_std-examples-blinky
裸机环境是指没有可供使用的操作系统环境。当编译的 Rust 程序拥有 no_std 属性时,该程序无权访问上述 std 章节中提到的某些特定功能。尽管仍支持使用配网或引入复杂数据结构等功能,但实现方式将会更加复杂。no_std 程序依赖于 Rust 所有环境中可用的核心语言特性,包括数据类型、控制结
【从零开始的rust web开发之路 一】axum学习使用
目前rust 语言web开发相关的框架已经有很多,但还是和java,go语言比不了。这个系列想完整走一遍web开发,后续有时间就出orm,还有一些别的web用到的库教程。言归正传,开始学习axum框架Axum是一个专注于人体工程学和模块化的Web应用程序框架。
算法leetcode|87. 扰乱字符串(rust重拳出击)
使用下面描述的算法可以扰乱字符串 s 得到字符串 t : 如果字符串的长度为 1 ,算法停止 如果字符串的长度 > 1 ,执行下述步骤: 在一个随机下标处将字符串分割成两个非空的子字符串。即,如果已知字符串 s ,则可以将其分成两个子字符串 x 和 y ,且满足 s = x + y
Rust核心功能之一(所有权)
所有权(系统)是 Rust 最为与众不同的特性,对语言的其他部分有着深刻含义。它让 Rust 无需垃圾回收(garbage collector)即可保障内存安全,因此理解 Rust 中所有权如何工作是十分重要的。所有程序都必须管理其运行时使用计算机内存的方式。一些语言中具有垃圾回收机制,在程序运行时
rust 智能指针
由于 Box 本身很简单,并没有包含类如长度、最大长度等信息,因此用一个元组结构体即可。MyBox(x)跟 Box 一样,我们的智能指针也持有一个 T 类型的值,然后使用关联函数 MyBox::new 来创建智能指针。assert_eq!(5, *y);(5, *y);| ^^Rc/Arc 是不可变
Rust 语言常见的一些概念(下)
进入第一个循环的时候i+1,i的结果为1,进入到第二个循环判断i对2求余是否等于0,结果不等进入else语句块中,在else语句块出现break语句,跳出当前循环,进入到i += 1的位置,所有此时i等于2,然后再次进去第二个循环,i对2求余结果等于0,对i进行加1操作,此时i等于3,然后跳到标签循
【Rust笔记】Rust与Java交互-JNI模块编写-实践总结
近期工作中有Rust和Java互相调用需求,这篇文章主要介绍如何用Rust通过JNI和Java进行交互,还有记录一下开发过程中遇到的一些坑。JNI简单来说是一套Java与其他语言互相调用的标准,主要是C语言,官方也提供了基于C的C++接口。 既然是C语言接口,那么理论上支持C ABI的语言都可以和J
【Rust 基础篇】Rust动态大小类型:理解动态大小类型与编写安全的代码
在Rust中,动态大小类型(DST)是一种特殊的类型,它的大小在编译时无法确定,需要在运行时根据实际情况进行确定。动态大小类型主要包括引用类型和trait对象。要定义引用类型,需要使用符号在变量前面创建引用。// 定义引用类型 fn main() {let x = 42;// 创建引用 }在上述例子
Rust 语言常见的一些概念(上)
时,实际上创建了一个新变量,我们可以改变值的类型,并且复用这个名字。元组中的每一个位置都有一个类型,而且这些不同值的类型也不必是相同的。与元组不同,数组中的每个元素的类型必须相同。Rust 中的数组与一些其他语言中的数组不同,Rust 中的。元组是一个将多个其他类型的值组合进一个复合类型的主要方式。
Rust 语言介绍及安装
Rust 是一门赋予每个人构建可靠且高效软件能力的语言。
算法leetcode|86. 分隔链表(rust重拳出击)
给你一个链表的头节点 head 和一个特定值 x ,请你对链表进行分隔,使得所有 小于 x 的节点都出现在 大于或等于 x 的节点之前。你应当 保留 两个分区中每个节点的初始相对位置。
Rust更换Cargo国内源,镜像了寂寞
换了Cargo国内源,构建时该卡还会卡。因为它所谓的换源,只是更换crates.io“索引”的源,而不是package“内容”的源。