201得票3回答
何时适合使用关联类型而不是泛型类型?

在这个问题中,有人试图使用泛型类型参数,但实际上应该使用关联类型来解决问题。这引发了“为什么在这里使用关联类型更合适?”的问题,让我想知道更多信息。 引入关联类型的RFC说明: 该 RFC 通过以下方式澄清了特征匹配: 将所有特征类型参数视为 输入类型,并且 提供关联类型,这是 输出类型...

196得票2回答
无法移动借用内容 / 无法移动共享引用后面

我不理解错误信息cannot move out of borrowed content。我曾多次收到这个错误并成功解决,但我从未明白其中的原因。例如:for line in self.xslg_file.iter() { self.buffer.clear(); for cu...

196得票5回答
如何在模块文件之间使用宏?

我在同一个 crate 的不同文件中有两个模块,crate 启用了 macro_rules。我想在一个模块中使用另一个模块定义的宏。// macros.rs #[macro_export] // or not? is ineffectual for this, afaik macro_rule...

196得票13回答
如何在Rust中访问命令行参数?

Rust教程没有解释如何从命令行获取参数。在所有示例中,fn main()都只显示为空参数列表。 从main访问命令行参数的正确方法是什么?

194得票4回答
如何将一个字符串转换为 &'static str

我该如何将一个String转换为&str?更具体地说,我想将它转换为一个具有static生命周期的str(&'static str)。

191得票2回答
使用和外部箱之间有什么区别?(这是一个关于IT技术的问题)

我认为use关键字用于将标识符导入当前作用域,而extern crate用于声明外部模块。但是这种理解(可能是错误的)对我来说没有意义。有人可以解释一下为什么Rust有这两个概念以及什么情况下适合使用它们吗?

189得票2回答
如何高效地从HashMap中查找和插入数据?

我想要做以下事情: 查找一个特定键的Vec,并将其存储以便日后使用。 如果不存在,则为该键创建一个空的Vec,但仍将其保留在变量中。 如何高效地实现?自然而然,我想可以使用match: use std::collections::HashMap; // This code does...

185得票4回答
Rust的128位整数`i128`在64位系统上是如何工作的?

Rust支持128位整数,这些使用数据类型i128(无符号整数使用u128)表示:let a: i128 = 170141183460469231731687303715884105727; Rust如何在64位系统上操作i128值,例如如何进行算术运算?据我所知,该值无法适应x86-64 C...

180得票2回答
单引号(')表示的是什么标识符?

我在Rust中遇到过几种以单引号标记的类型:'static 'r 'a 那个撇号(')的意义是什么?也许它是引用(&)的修饰符?是针对引用的通用键入方式吗?我不知道这个文档在哪里隐藏。

173得票4回答
Rust中的惯用回调函数

在C/C++中,我通常会使用普通函数指针来进行回调,可能还会传递一个void* userdata参数。类似于这样: typedef void (*Callback)(); class Processor { public: void setCallback(Callback c) ...