【发布时间】:2021-08-10 11:25:20
【问题描述】:
我是 Rust 新手,正在阅读 Rust 编程书的第二版。我想知道下面的问题,但到目前为止找不到答案。
定义函数时,可以移动一些参数。如果您打算在函数中改变它们,也可以声明它们 mut(不带引用)。
然而,对于调用者来说,这个mut 似乎没有任何意义。他们刚刚转移了所有权,在那之后数据会发生什么并不是他们关心的问题,不是吗?
那么,是否可以说 mut 以及移动的参数实际上不是函数 API 的一部分?相反,它会将该函数的实现细节泄露给它的签名。
感谢您帮助我更好地理解这一点。
问候, 亚历克斯
【问题讨论】:
-
只想提一下,Rust 生成的文档在记录函数时不包括
mut。以Vec的into_boxed_slice(self)为例,它在source 中使用mut self。
标签: rust