checker borrow 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

Rust 的数据类型,以及与众不同的变量声明

楔子 Rust 中每一个变量的值,都有其特定的数据类型,Rust 会根据数据的类型来决定如何处理它们,例如分配空间。而 Rust是一门静态语言,这意味着它在编译程序的过程中需要知道所有变量的具体类型。 Rust 的数据类型分为两类:标量类型(scalar)和复合类型(compound),我们先来说一 ......
变量 与众不同 类型 数据 Rust

如何构建一个 Rust 项目?

楔子 接下来我将和你一起学习 Rust,并且到后期还会使用 Rust & PyO3 来为 Python 编写扩展。 关于 Rust 的特点、优势和劣势之类的,这里就不赘述了,网上一大堆,随便一搜就是。总之 Rust 确实是出了名的难学,很容易从入门到入坟,但如果在学习的时候改变一下三观,会发现其实也 ......
项目 Rust

rust对T和&T实现trait意义

如果T实现了某个trait,那么整个T类型的&T,也实现了该trait了吗?不是这样的。 为什么这样,例子说明下: trait Speaker { fn speak(&self); } struct BasicSpeaker; impl Speaker for BasicSpeaker { fn s ......
意义 trait rust amp

rust image找图

[dependencies] image = "0.24.6" use image::{GenericImageView, ImageBuffer, Rgb}; fn main() { let img_a = image::open("2.png").unwrap().to_rgb8(); let ......
image rust

rust 项目的文件结构

发文原因 很多初学者都使用 cargo new [project_name] 来创建项目,并直接在 main.rs 文件中实现所有功能。 这样是不合理的,并不符合我们 cargo 的开发规范。 下面将简单的介绍一下 rust project 中的文件结构。 cargo new [project_na ......
结构 文件 项目 rust

Rust 备忘清单_开发速查表分享

Rust 备忘清单 IT宝库整理的Rust开发速查参考备忘单,旨在为编写基本语法和方法提供帮助。入门,为开发人员分享快速参考备忘单。 Rust是一门系统编程语言,专注于安全,尤其是并发安全,支持函数式和命令式以及泛型等编程范式的多范式语言。Rust在语法上和C++类似,但是设计者想要在保证性能的同时 ......
清单 Rust

rust extract text from pdf files

[dependencies] pdf-extract = "0.6.4" use pdf_extract::extract_text; fn main(){ let text = extract_text("1.pdf").unwrap(); println!("{:?}", text); } ......
extract files rust from text

深入Rust函数之函数参数与普遍函数

起 这两天翻阅标准库的时候, 有一个用法让我十分不解: assert_eq!( [2.4, f32::NAN, 1.3] .into_iter() .reduce(f32::max) .unwrap(), 2.4 ); 这个是迭代器中的max中的内容, 在这里, 标准库写道: 因为浮点数并没有实现O ......
函数 参数 Rust

Rust体验

Rust体验 Hello World fn main() { println!("Hello, world!"); } 概述 Rust是静态强类型语言 变量 fn main() { let x = 5; // 默认整数类型i32 println!("x: {}", x); // x = 6; 没有被 ......
Rust

如何使用Rust迭代器, 以Luhn Algorithm的实现为例

本题来源自谷歌的Comprehensive-Rust课程第二天下午的练习 问题描述 在这个练习的描述中, Luhn Algorithm是一种用来验证银行卡号是否合法的算法. 他的具体流程如下: 去掉输入中所有的空格 得到的数字串长度如果小于0, 说明这个字符串不合法 从数字的右侧的第二个数开始, 每 ......
Algorithm Rust Luhn

Rust 知识积累(5)

&str 字符串 直接声明时,生命周期为整个程序,直接写进了二进制中,类型为&'static str',意为字符串字元有一个叫static的生命期 借用str 作为String的引用来使用,无生命期,例如 fn print_str(my_str: &str){},调用为print_str(&Stri ......
知识 Rust

Rust 知识积累(3)

u16::checked_add(251, 8).unwrap(); /* checked_add的方式有两种 第一种为u16::checked_add(数值,数值),相加 第二种类型直接调用checked_add() checked_*:返回的类型是Option<_>,当出现溢出的时候,返回值是N ......
知识 Rust

Rust 知识积累(4)

链式方法 collect let new_vec = (1..=10).collect::<Vec>(); OR let new_vec: Vec = (1..=10).collect(); Vec![].into_iter().skip(3).take(4).collect::<Vec>(); s ......
知识 Rust

Rust 入门

Rust 安装 安装地址 选择 1 继续安装(2 是自定义安装,3 是取消安装) # 更新 Rust rustup update # 卸载 Rust rustup self uninstall # 安装验证 rustc --version Hello World 程序文件后缀名:.rs 编译:rus ......
Rust

rust变量遮蔽(shadowing)

前言 首先要理解rust对变量的分配,rust创建一个变量之后,分配一个内存空间,变量名是对这一个内存空间的命名。 一般默认情况下,变量是不可变的,因为rust为了安全,对内存的操作是很小心的。如果想要让变量可变,需要声明mut // 此时是对同一地址的改变 let mut x = 5; x =6 ......
变量 shadowing rust

太香了,Rust语言

这几天我学习了rust编程语言,怀着激动的心情来分享体会,它真的太优秀了。 c语言运行很快,通用性[注]一流,不支持面向对象。rust通用性也一流,上支持面向对象,下支持内联汇编。 c++支持面向对象,内存得手工管理。rust自动管理内存。c++语法庞大复杂,rust远没有c++庞大复杂。 java ......
语言 Rust

mxnet模型转onnx报错onnx.onnx_cpp2py_export.checker.ValidationError: Unrecognized attribute: spatial for operator BatchNormalization

onnx 版本 onnx 1.6.0onnx-simplifier 0.2.2onnxruntime 1.1.0onnxruntime-gpu 1.1.0 mxnet 版本 mxnet-cu101 1.7.0 原因 mxnet bug https://github.com/apache/mxnet/ ......

性能的极致,Rust的加持,Zed-Dev编辑器快速搭建Python3.10开发环境

快就一个字,甚至比以快著称于世的Sublime 4编辑器都快,这就是Zed.dev编辑器。其底层由 Rust 编写,比基于Electron技术微软开源的编辑器VSCode快一倍有余,性能上无出其右,同时支持多人编辑代码。 安装和配置Zed.dev Zed.dev编辑器还在灰度测试阶段,暂时只释出了M ......
编辑器 极致 性能 Python3 Zed-Dev

文盘Rust -- 本地库引发的依赖冲突

clickhouse 的原生 rust 客户端目前比较好的有两个clickhouse-rs 和 clickhouse.rs 。两个库在单独使用时没有任何问题,但是,在同一工程同时引用时会报错。本篇内容主要讲解如何用rust语言解决本地库引发的依赖冲突问题 ......
Rust

Python 发展趋势:与 Rust 深度融合、更易于编写 Web 应用

大家好,我是猫哥,好久不见!2022 年末的时候,我不可避免地阳了,借着身体不舒服就停更了,接踵而至的是元旦和春节假期,又给自己放了假,连年终总结也鸽了,一懈怠就到了 2 月中旬…… 现在是我家娃出生的第三个月,全家人大部分的时间和精力都在他身上,结果是幸福与疲累共存。新生儿是那么的可爱,又是那么的 ......
深度 趋势 Python Rust Web

【rust】rsut基础:模块的使用一、mod 关键字、mod.rs 文件的含义等

本文内容 这篇文章是实战性质的,也就是说原理部分较少,属于经验总结,rust对于模块的例子太少了。rust特性比较多(悲),本文的内容可能只是一部分,实现方式也不一定是这一种。 关于 rust 模块的相关内容,准确来说:怎么在源码中引用其他模块的内容。 关于 mod、 use 、as 这几个关键字( ......
mod 模块 含义 关键字 关键