我找到的最接近的是std::num::Intstd::num::Float个特征,它们定义了zero()个.然而,它们是特定于基本类型的.

推荐答案

不,因为它在一般情况下没有意义.事实上,有几种类型的"零"是完全有效的.例如,如果你要取一个大小合适的零值并将其转换为Box,那将违反内存安全!

除了"零"之外还有一种 Select ,那就是Default种trait .它允许你说Default::default()来获得一个类型的"默认"值,不管它是什么.然而,对于所有类型的"默认"并没有一致、合理的定义.因此,您只能对实现它的类型使用它.

Rust相关问答推荐

为什么幻影数据不能自动推断?

无法在线程之间安全地发送future (&Q;)&错误

rust 蚀生命周期 行为

在Rust中赋值变量有运行时开销吗?

使用 struct 外部的属性来改变 struct 的原始方式

默认特征实现中的生命周期问题

取得本地对象字段的所有权

如何在嵌套的泛型 struct 中调用泛型方法?

找不到 .has_func 或 .get_func 的 def

类型生命周期绑定的目的是什么?

borrow 是由于对 `std::sync::Mutex>` 的解引用强制而发生的

从字节数组转换为字节元组和字节数组时,为什么 Transmute 会对字节重新排序?

为什么切片时需要参考?

Button.set_hexpand(false) 不会阻止按钮展开

Rust:为什么 Pin 必须持有指针?

Rust 中指向自身的引用如何工作?

方法可以被误认为是标准特性方法

使用 rust 在 google cloud run (docker) 中访问环境变量的适当方法

为什么 Rust 允许写入不可变的 RwLock?

使用 rust-sqlx/tokio 时如何取消长时间运行的查询