Rust

Rust编程语言入门之cargo、crates.io

cargo、crates.io 本章内容 通过 release profile 来自定义构建 在https://crates.io/上发布库 通过 workspaces 组织大工程 从 https://crates.io/来安装库 使用自定义命令扩展 cargo 一、通过 release profi ......
编程语言 语言 crates cargo Rust

rust所有权,一个关于“一致性”的小点

我感觉编程世界里有个东西很舒服,我也不知道该怎么称呼它,姑且叫它“一致性”吧 最近在浅浅了解rust。发现里面有一个小点很好的符合了这个一致性。 第一个图讲的是基本类型在赋值的时候默认就是拷贝的 第二个图讲的是用一个结构体变量初始化另一个结构体变量的时候,如果字段是基本类型,那么那些字段就是拷贝的。 ......
一致性 小点 所有权 rust

从java到JavaScript(2):对比Java/Go/Swift/Rust看Dart

Dart与Java的一些直观区别GoGo作为一种简单的语言,非常适合构建网络应用程序,这是正确的,如果你不需要其他功能,如泛型。个人觉得Dart和Java JavaScript有很多共通之处,对于typescript,个人觉得dart替代性更好 ......
JavaScript Swift java Java Dart

从java到JavaScript(1),看Dart:对比Java/Go/Swift/Rust

动态类型语言不满足人民群众日益增长的性能需求,同时暴露了对类型过于宽松而造成的可维护性,可调试性下降。Dart作为新时代的语言,支持JIT与AOT的新人,个人觉得还是好好琢磨下,笔记可能是未来web王者 ......
JavaScript Swift java Dart Java

rust基础(上)

定义变量 fn main(){ let number=3; let food="事物"; let check=true; println!("the number is:{}",number); println!("the food is:{}",food); println!("the check ......
基础 rust

Rust 的 parse() 是一个用于将字符串解析为其他类型的方法

在 Rust 中,parse() 是一个用于将字符串解析为其他类型的方法。例如,可以将字符串解析为整数、浮点数或布尔值等。 在这个例子中,parse() 方法被用来将用户从标准输入中读取的字符串(即变量 input_num)解析为整数类型。需要注意的是,parse() 方法返回一个 Result 枚 ......
字符串 字符 类型 方法 parse

Rust 关键词

在 Rust 中,以下是所有的关键词列表,以及它们的作用和用途: as:类型转换关键字,用于将一个类型转换为另一个类型。 async:异步函数关键字,用于定义异步函数。 await:等待异步结果关键字,用于等待异步函数的执行结果。 break:循环控制关键字,用于跳出当前的循环语句。 const:常 ......
关键词 关键 Rust

Rust入门, 猜字游戏!

use rand::Rng; // 随机数 use std::cmp::Ordering; // 枚举对比cmp use std::io; // io 输入输出获取 fn main() { println!("这是一个猜字游戏!"); // rand::thread_rng() 是获取一个本地线程作 ......
Rust

Rust语言 , string(&str) 和 String 区别

在 Rust 中,string 表示字符串切片类型(&str),可以用于引用字符串数据。而 String 则是字符串类型,是一种可变的字符串,可以创建、修改和销毁。 具体来说,string 是 Rust 的核心语言类型之一,它是一个不可变的字符串切片类型,通常用于引用已有的字符串数据。由于字符串切片 ......
语言 string String Rust amp

Rust编程语言入门之函数式语言特性:-迭代器和闭包

函数式语言特性:-迭代器和闭包 本章内容 闭包(closures) 迭代器(iterators) 优化改善 12 章的实例项目 讨论闭包和迭代器的运行时性能 一、闭包(1)- 使用闭包创建抽象行为 什么是闭包(closure) 闭包:可以捕获其所在环境的匿名函数。 闭包: 是匿名函数 保存为变量、作 ......
闭包 语言 编程语言 函数 特性

一个简单的 rust项目 flappy bird

一个非常简单的小项目。 看到了杨旭大佬的教学视频,自己跟着实现了一下,完善了一下游戏逻辑。 通过空格键进行控制。 游戏中可按 P 键 暂停/恢复 游戏 项目结构 · ├── Cargo.lock ├── Cargo.toml ├── src/ │ ├── main.rs │ ├──bird/ │ │ ......
项目 flappy rust bird

Rust 所有权规则

Rust 是一种系统级编程语言,其最为突出的特点之一是所有权规则。这些规则确保了 Rust 代码的内存安全和并发安全,并在编译时检查了内存管理的正确性。下面是 Rust 中的所有权规则的概述: 1.每个值都有一个所有者:在 Rust 中,每个值都有一个唯一的所有者。这意味着变量在任何时候只能有一个拥 ......
所有权 规则 Rust

Rust编程语言入门之项目实例:- 命令行程序

项目实例:- 命令行程序 一、实例:接收命令行参数 本章内容 12.1 接收命令行参数 12.2 读取文件 12.3 重构:改进模块和错误处理 12.4 使用 TDD(测试驱动开发)开发库功能 12.5 使用环境变量 12.6 将错误消息写入标准错误而不是标准输出 创建项目 ~/rust ➜ car ......
编程语言 实例 命令 语言 程序

rust中的序列

rust提供了一个类似迭代器一样的方式,能够简洁的生成连续的数值。 比如 for i in 1..5{ println!("{}",i); } 能够生成从 1 到 4 的连续数字。如果要[1,5]的数字,要写成for i in 1..=5 上述序列还能用于字符 for i in 'a'..'z'{ ......
序列 rust

rust单元类型

rust中一个妙妙类型叫单元类型,其表示为(),对就是一对括号,唯一的值也是 ()。 这个类型有什么作用呢。 1 ==做函数的返回值== 震撼我一整年,fn main()中的()是main函数的返回值。 你不能说 main 函数无返回值,因为没有返回值的函数在 Rust 中是有单独的定义的:发散函数 ......
单元 类型 rust

rust 建立窗口并关闭。

[dependencies] web-view = "0.7.3" use std::thread; use web_view::*; fn main() { let handle = thread::spawn(|| { let webview = web_view::builder() .tit ......
rust

[rust学习] 二、 rust中的智能指针

rust中智能指针大致分类 以下内容提炼自rust官方文档: https://doc.rust-lang.org/book/ch15-01-box.html 一、 Box<T> 1. 使用例子: 1 fn main() { 2 let b = Box::new(5); 3 println!("b = ......
rust 指针 智能

Rust关键字及作用

Rust 中的关键字被特定用于定义语法规则和限制名称空间中的标识符。 以下是 Rust 中所有的关键字及其作用: as:类型转换; async:声明异步函数; await:等待异步操作结果; break:结束循环或跳出循环语句块; const:声明常量; continue:继续下一轮循环; crat ......
关键字 作用 关键 Rust

一个简单的rust项目贪吃蛇

一个贪吃蛇游戏的 rust 实现,使用了 piston_window 和 rand crate。 游戏使用 上下左右 方向键进行操控,使用 R 重置游戏,使用 P 进行暂停/启动。 项目结构 · ├── Cargo.lock ├── Cargo.toml ├── src/ │ ├── main.rs ......
项目 rust

为什么 Python、Go 和 Rust 都不支持三元运算符?

在编程时,我们经常要作条件判断,并根据条件的结果选择执行不同的语句块。在许多编程语言中,最常见的写法是三元运算符,但是,Python 并不支持三元运算符,无独有偶,两个最热门的新兴语言 Go 和 Rust 也不支持! 为什么 Python 不支持三元运算符呢?本文将主要分析 Python 在设计条件 ......
运算符 Python Rust

Rust如何引入源码作为依赖

问题描述 通常我们在rust项目中引入第三方依赖包时,会直接指定包的版本,这种方式指定后,Cargo在编译时会从crates.io这个源中下载这些依赖包。 [package] name = "foo" version = "0.1.0" edition = "2021" [dependencies] ......
源码 Rust

Rust编程语言入门

Rust 编程语言入门 Rust简介 为什么要用Rust? Rust是一种令人兴奋的新编程语言,它可以让每个人编写可靠且高效的软件。 它可以用来替换C/C++,Rust和他们具有同样的性能,但是很多常见的bug在编译时就可以被消灭。 Rust是一种通用的编程语言,但是它更善于以下场景: 需要运行时的 ......
编程语言 语言 Rust

Rust编程语言入门之编写自动化测试

编写自动化测试 一、编写和运行测试 测试(函数) 测试: 函数 验证非测试代码的功能是否和预期一致 测试函数体(通常)执行的3个操作: 准备数据/状态 运行被测试的代码 断言(Assert)结果 解剖测试函数 测试函数需要使用 test 属性(attribute)进行标注 Attribute就是一段 ......
编程语言 语言 Rust

一名C++程序员的Rust入门初体验

作者最近尝试写了一些Rust代码,本文主要讲述了对Rust的看法和Rust与C++的一些区别。 背景 S2在推进团队代码规范时,先后学习了盘古编程规范,CPP core guidelines,进而了解到clang-tidy,以及Google Chrome 在安全方面的探索。 C++是一个威力非常强大 ......
程序员 程序 Rust

Rust编程语言入门之泛型、Trait、生命周期

泛型、Trait、生命周期 一、提取函数消除重复 fn main() { let number_list = vec![34, 50, 25, 100, 65]; let mut largest = number_list[0]; for number in number_list { if num ......
编程语言 周期 语言 生命 Trait

rust 速查手册

rust 速查手册。目前只搬了英文版,如需中文版,请留言或推荐。需要的人多的话,我会翻译。 rust 手册 Rustup Cargo Documentation comments Operators Mathematical Comparison Logical Bitwise Primitive ......
手册 rust

Rust 所有权:值的生与死,由谁来掌控?

楔子 所有权可以说是 Rust 里面非常独特的一个功能了,正是所有权概念和相关工具的引入,Rust 才能在没有垃圾回收机制的前提下保障内存安全。因此正确地了解所有权概念、以及它在 Rust 中的实现方式,对于所有 Rust 开发者来讲都是十分重要的。 所有权概念本身的含义并不复杂,但作为 Rust ......
所有权 Rust

Rust 的三种循环(loop、while、for)

楔子 我们常常需要重复执行同一段代码,针对这种场景,Rust 提供了多种循环(loop)工具。一个循环会执行循环体中的代码直到结尾,并紧接着回到开头继续执行。 而 Rust 提供了 3 种循环:loop、while 和 for,下面逐一讲解。 loop 循环 我们可以使用 loop 关键字来指示 R ......
while Rust loop for

Rust 的函数以及 if 控制流

楔子 本篇文章来说一说 Rust 的函数和流程控制,首先 Rust 使用蛇形命名法(snake case)来作为函数和变量的命名风格,蛇形命名法只使用小写的字母进行命名,并以下画线分隔单词。 fn main() { another_func(); } fn another_func() { prin ......
函数 Rust if

【翻译】Aya: Rust风格的 eBPF 伙伴

Aya: your tRusty eBPF companion - Aya: Rust风格的 eBPF 伙伴 原文链接: https://deepfence.io/aya-your-trusty-ebpf-companion/ 第一次翻译长篇文章,有不好的地方欢迎评论指出 不确定的翻译已通过中文斜体 ......
伙伴 风格 Rust eBPF Aya