有没有办法检查字段的可变性?

时间:2019-09-16 14:18:29

标签: rust

类似的东西:

ORDER BY custno ASC

您可以尝试使错误处理超载,但这是一种反模式。

1 个答案:

答案 0 :(得分:9)

您在标题中提到“字段”。字段不具有“可变性”属性。您的代码建议您实际上想问一下变量绑定的可变性。

无法在运行时找出变量绑定是否可变。变量绑定的此属性始终在编译时已知,并且仅在编译时相关。因此,在运行时进行检查实际上没有意义,因为检查将始终为true或始终为false

除“绑定可变性”外,还有“参考可变性”,基本上是&T&mut T之间的区别。您可以通过使用一些特征欺骗来在运行时进行检查。但是,在运行时进行检查也没有意义,因为它不允许您对这些信息做任何有趣的事情。

最后,通过内部可变性容器(如RefCellMutex)进行运行时借用。这些确实有专用的方法来检查可以可变借用的东西。

从动态语言来看,这些事情对您来说似乎真的很奇怪,这很正常。只要继续学习Rust(例如通过阅读本书),您很快就会知道为什么在Rust的背景下您最初提出的问题确实看起来很奇怪。