|
|
1
4
附注1 :您可以在同一范围内借用不可变或可变的变量,这意味着您不能这样做:
为什么? 因为如果对同一个变量有可变和不可变的引用,那么该变量的数据可能会通过可变引用发生变化,这可能会导致很多问题。 附注2 :你可以无限次不可变地借用一个变量,但你只能可变地借用一个变量一次。
为什么? 如上所述。一个可变引用可能会更改所有其他可变引用指向的数据,而它们不知道。这可能会造成很多问题。但是有多个不可变的引用是可以的,因为数据不能意外地更改。 |
|
|
2
2
Ejdrien answers演示了可变借词和不可变借词之间的区别,但它并没有解决您问题中的副标题,即您正在执行借词,作为问题的一部分 pattern matching . 当你写作的时候
你是在约束
您将收到来自借用检查器的编译错误,类似于
在这个特定的上下文中,有两种方法可以通知编译器我们只想借用
这种方法的问题在于,我们被迫借钱
每件事
以同样的方式。如果我们只需要对
这给我们带来了第二种解决方案:绑定引用。我们可以写,而不是上面提到的
在这里,我们明确说明了我们希望如何绑定模式匹配中的每个变量。这里的关键是,我们可以自由地混合可变和不变的借词,因此以下内容也完全有效:
如果我们将上述内容与右侧的显式可变借阅进行交换,我们将再次收到借阅检查器的错误,因为同时存在可变和不可变引用:
生产
|