133得票11回答
在Rust中,为什么将字符串的第一个字母大写变得如此复杂?

我想要将&str的首字母大写。这是一个简单的问题,我希望能得到一个简单的解决方案。我的直觉告诉我要像这样做:let mut s = "foobar"; s[0] = s[0].to_uppercase(); 但是&str不能像这样进行索引。我一直以来所能做的唯一方法似乎过于复杂...

133得票2回答
`usize` 和 `u32` 有什么区别?

文档表示usize类型是 提供操作和常量用于指针大小的无符号整数。 在大多数情况下,我可以将usize替换为u32而不会有任何变化。因此我不明白为什么我们需要两个如此相似的类型。

133得票2回答
如何检查路径是否存在?

选择似乎在于std::fs::PathExt和std::fs::metadata之间,但由于更加稳定,后者目前被建议使用。以下是我一直在使用的代码,因为它基于文档: use std::fs; pub fn path_exists(path: &str) -> bool { ...

132得票1回答
何时应该在Rust中使用inline?

Rust有一个"inline"属性,可以使用以下三种方式之一: #[inline] #[inline(always)] #[inline(never)] 何时应该使用它们? 在Rust参考文献中,我们看到一个内联属性部分的说明: 编译器根据内部启发式方法自动内联函数。错误地内联函...

131得票4回答
有没有模数(不是余数)函数/操作?

在 Rust 中(和大多数编程语言一样),% 运算符执行的是 余数 操作,而不是 模数 操作。这些操作对于负数有不同的结果:-21 modulus 4 => 3 -21 remainder 4 => -1 println!("{}", -21 % 4); // -1 然而,我想要求...

130得票5回答
有没有办法返回在函数中创建的变量的引用?

我想编写一个程序,它将以两个步骤编写文件。在运行程序之前,该文件可能不存在。文件名是固定的。 问题在于 OpenOptions.new().write() 可能会失败。在这种情况下,我想调用自定义函数 trycreate()。这个想法是创建文件而不是打开它并返回一个句柄。由于文件名是固定的,...

129得票4回答
如何在Rust中列出目录中的文件?

我该如何在 Rust 中列出一个目录下的所有文件?我正在寻找等价于以下 Python 代码的方法。files = os.listdir('./')

129得票6回答
如何将一个数字乘以某个次方?

我试图使用脱字符号 (^) 对整数进行幂运算,但是结果让我感到惊讶,例如:assert_eq!(2^10, 8); 我该如何在Rust中执行指数运算?

127得票1回答
如何在Rust的格式化字符串中转义花括号

我想写这个write!(f, "{ hash:{}, subject: {} }", self.hash, self.subject) 但是由于花括号在格式化方面具有特殊含义,很明显我不能这样放置外部花括号而不进行转义。所以我尝试了转义它们。write!(f, "\{ hash:{}, sub...

126得票5回答
一个结构体是否可以扩展现有结构体并保留所有字段?

使用 rust 1.2.0 问题 我正在学习Rust(来自JavaScript背景),并试图弄清楚是否可以使一个结构体StructB扩展现有的结构体StructA,以便StructB具有在StructA上定义的所有字段。 在JavaScript(ES6语法)中,我可以做这样的事情... ...