在Java中,所有对象都从java.lang.Object继承.在Go中,所有类型/ struct 都实现空接口interface {}.Rust语言中有类似的 struct 吗?

如果答案是否定的,是什么让它变得不必要?这是因为Rust中的所有实体(模块除外)都可以按类型参数化吗?这是否消除了对所有实体/ struct /枚举共享的公共"超类型"或公共特性的需求?

推荐答案

是的,有一个特点.是std::any::Any.

the docs开始:

Any特性由all的静态类型实现,可以用于动态类型

Rust相关问答推荐

使用极点数据帧时,找不到枚举结果的方法lazy()

Gtk4-rs:将监视器作为gdk::monitor获取,而不是作为glib::对象获取

告诉Rust编译器返回值不包含构造函数中提供的引用

有没有可能让泛型Rust T总是堆分配的?

我无法理解Rust范围的定义(Rust Programming Language,第二版克拉布尼克和尼科尔斯)

对reqwest提供的这种嵌套JSON struct 进行反序列化

Tokio';s io::用Cursor拆分<;Vec<;u8>>;赢得';t get the full writted data

Const 上下文:从 init 函数创建具有 const 通用长度的数组

是否可以在不直接重复的情况下为许多特定类型实现一个函数?

这个不安全的 Rust 代码有什么问题,所以它可以在 Windows 上运行,但不能在 Ubuntu 上运行?

.to_owned()、.clone() 和取消引用 (*) 之间有区别吗?

仅当函数写为闭包时才会出现生命周期错误

在 Rust 中,我如何处理请求 javascript 的页面?

为什么基于 clap::Parser 读取的大量数字进行计算比硬编码该数字时慢?

为什么这个闭包没有比 var 长寿?

BigUint 二进制补码

如何用另一个变量向量置换 rust simd 向量?

Rust 中的运行时插件

在 Rust 中组合特征的不同方法是否等效?

来自外部函数的future 内部可变引用