< 返回版块

guyuming76 发表于 2022-09-20 11:15

我不知道如何在这里贴图,就在知乎里问了,下面是链接:

https://www.zhihu.com/question/554441029

评论区

写评论
MoNaEcho 2022-09-24 02:46

https://learn.microsoft.com/zh-cn/dotnet/csharp/fundamentals/functional/discards

这个类似 C#的弃元,取消使用的占位符变量。相当于未赋值的变量,永远不会使用变量,它们没有值。它们可以增强其可读性和可维护性。将意图传达给编译器和其他读取代码的文件:你打算忽略表达式的结果。

这种在C#这种有运行时,就是告诉垃圾回收系统,我是垃圾赶快回收。

这种在Rust里面,可能根本都不会分配空间,也有可能在匹配完成的下一行就把内存空间给释放了。反正永远都用不到。

拓展:

函数参数和 前面以_开头,比如 _name

fn test(name:String,age:i32){ println!("{}",age) } 如果按照上面写,编译器就会告诉你 name 这个参数你没用过unused variable。

fn test(_name:String,age:i32){ println!("{}",age) } 但是你在name前加上_前缀,就告诉编译器,爷了知道,这字段我不用,不烦你操心。编译器就不会报错

姑且看之,不足之处请指出。

yinheli 2022-09-21 22:32

anonymous type, 给编译器推导,省略

Pikachu 2022-09-20 11:36

https://doc.rust-lang.org/reference/types/inferred.html

1 共 3 条评论, 1 页