相关疑难解决方法(0)

Rust的`String`和`str`之间有什么区别?

为什么Rust有StringstrString和之间有什么区别str?什么时候使用String而不是str反之亦然?其中一个被弃用了吗?

string rust

341
推荐指数
13
解决办法
4万
查看次数

了解可变的Seq

我对Scala很新,并尝试理解可变性Seq.因为它在包中mutable我期望有一种方法允许我们在不复制整个集合的情况下追加元素.

但是没有+=方法mutable.Seq,但是在Buffer.:++:复制该集合.

那为什么它是可变的?

collections scala

14
推荐指数
1
解决办法
1643
查看次数

为什么固定大小的数组可以在堆栈上,但str不能?

答案是什么锈病的`String`之间的区别`str`?描述了如何&strString相互关系.

令人惊讶的是,a str比固定大小的数组更有限,因为它不能被声明为局部变量.编译

let arr_owned = [0u8; 32];
let arr_slice = &arr_owned;

let str_slice = "apple";
let str_owned = *str_slice;
Run Code Online (Sandbox Code Playgroud)

在Rust 1.32.0中,我明白了

error[E0277]: the size for values of type `str` cannot be known at compilation time
 --> src/lib.rs:6:9
Run Code Online (Sandbox Code Playgroud)

这是令人困惑的,因为"apple"编译器可以知道它的大小,它只是不属于str类型的一部分.

是否存在Vec<T>< - > [T; N]String< - > str所拥有类型之间不对称的语言原因?一个str[N]类型,它是一个简短的[u8; N]只包含可证明有效的UTF-8编码字符串,可以替换str而不会破坏大量现有代码吗?

language-lawyer rust

7
推荐指数
2
解决办法
216
查看次数

标签 统计

rust ×2

collections ×1

language-lawyer ×1

scala ×1

string ×1