包含标签:rust 的文章
-
如何创建具有计时时区的通用 Rust 结构?
免责声明:我是 Rust 的新手(以前的经验是 Python、TypeScript 和 Go,按顺序),我完全有可能遗漏了一些非常明显的东西。 我正在尝试构建一个 Rust 时钟接口…… -
在 Rust 中使用 `Result<T, Box<dyn Error>>` 技巧,但跨多个线程
使用返回来注释函数Result<X, Box<dyn Error>>以允许它们返回任何错误是一个常见的技巧。但是,如果错误本身没有实现Send. 例如这段代码: use ra…… -
排序然后在一行中删除整数的锈向量
我想排序然后删除一个i32in rust 的向量: fn main() { let mut vec = vec![5,5,3,3,4,4,2,1,2,1]; vec.sort().collect().dedup(); println!…… -
由于对 `.into_iter()` 的这种隐式调用,对向量的可变引用被移动,但显式调用 `.into_iter()` 有效
这将失败: fn ppv(arr: &mut Vec<i32>) { if arr.len() <= 0 { return; } let mut pp: i32 = 0; for &mut val in a…… -
将借用值的向量收集到借用特征的 vec 中
是否可以Vec<&dyn Trait>从实现的值的迭代器中收集 a Trait? 这是一个示例,基于属于特征问题的对象向量: trait Animal { fn make_sound(&…… -
为什么在多个文件中使用结构时会出现“预期结构文件 1::A 发现结构文件 2::A”错误?
我试图在两个文件之间共享一个结构,但出现错误。 我有以下文件夹结构: src/ Models/ Login.rs Routes/ LoginRoute.rs Services/ LoginSer…… -
HTTP 响应的正文存储在哪里?(使用 Rust + reqwest)
在过去的几天里,我通过使用 reqwest crate 在 Rust 中构建一个简单的 CL 下载管理器来处理 HTTP 的东西,一直在搞乱 HTTP。我对协议的工作原理有了基本的了解…… -
如何使用 actix-web 在 websocket 处理程序中启动守护进程?
给定一个带有 Actix的WebSocket 服务器的基本设置,我如何在我的消息处理程序中启动一个守护进程? 我已经扩展了上面链接的示例启动代码以daemon(false, true)…… -
Read::read_exact 不填充缓冲区
我有以下代码: use std::io::{Cursor, BufReader, Read}; fn main() { let string = String::from("Cello"); let bytes = string.as_bytes(); l…… -
根据索引删除循环中向量的元素
假设我有一个向量,值从 1 到 10。我希望如果您发现 5 和 5 彼此相邻,请将它们与下一个元素一起删除。 输入 [1, 2, 3, 4, 5, 5, 6, 7, 8, 9, 10] 预期产出 […… -
Rust 中是否有用于声明一个接受结构体所有成员的构造函数的简写?
如果你有一个像这样的结构: pub struct Foo { pub a: i32, pub b: i32, pub c: String, // and a bunch of other fields } 有没有办法声明…… -
如何以小写形式显示枚举?
我有一个枚举: pub enum BoxColour { Red, Blue, } 我不仅希望将此值作为 string 获取,而且还希望将该值转换为小写。 这有效: impl Display for B…… -
为什么具有 const 泛型布尔值的方法不能调用对 true 和 false 都实现的方法?
此代码完美运行(操场): struct MyStruct<const B: bool>; impl MyStruct<false> { pub fn bar() { println!("false"); } } i…… -
使用 tinyvec 时,即使 ArrayVec 和 Item impl Copy
有谁知道这里发生了什么?为什么我得到 use tinyvec::ArrayVec; #[derive(Copy, Clone)] struct Item { num: i32 } #[derive(Copy, Clone)] struct Te…… -
为什么没有从 UTF8 编码数组创建字符串的专用方法?
我需要String从字节数组(不是Vec)构造。这有效: let buf2 = [30, 40, 50]; let string2 = std::str::from_utf8(&buf2).unwrap().to_string(); 为什么……