Rust中是否存在类似C/C++里(void)variable的未使用变量替代处理方案?
Rust中是否存在类似C/C++里(void)variable的未使用变量替代处理方案?
当然有啦!在Rust里处理这种未使用变量的情况,有好几种比禁用警告更优雅的方案,完全能替代C/C++里(void)variable的写法:
下划线前缀命名未使用参数:这是最常用也最清晰的方式。你只需要把不用的参数名改成以
_开头,比如把window改成_window,这样Rust编译器就会明白你是故意忽略这个变量,不会抛出未使用警告。修改后的函数签名如下:fn on_window_event(_window: &cgl_rs::Window, event: &cgl_rs::Event) -> bool { // ... some code ... false }直接用下划线替代参数名:如果你连参数的“占位名字”都不想写,可以直接用单个
_来代替参数名。这种方式更简洁,但要注意如果有多个未使用参数都用_的话,可能会因为参数标识符重复引发编译错误(虽然不同类型的情况下大概率没问题,但还是推荐第一种方式更具可读性)。示例代码:fn on_window_event(_: &cgl_rs::Window, event: &cgl_rs::Event) -> bool { // ... some code ... false }使用
std::mem::drop函数(不推荐用于参数场景):如果是函数内部临时产生的未使用变量,可以调用drop(variable)来显式“消耗”它,但对于函数参数来说,这种方式有点画蛇添足,前两种方案足够简洁高效,所以一般不用在参数上。
这些方案都是Rust官方推荐的最佳实践,相比直接禁用警告,它们能明确传达你的代码意图,还不会错过其他真正有用的未使用变量提示哦。
备注:内容来源于stack exchange,提问作者Jaysmito Mukherjee
相关产品推荐
相关产品推荐

