如何将结构存储到Rust中的变量中?

时间:2019-01-18 08:10:06

标签: rust

Rust允许在函数内部声明结构,但不允许以简单的方式为其分配变量。

[1]: https://imgur.com/a/Qs0CWhK "App Screenshot"
[2]: https://imgur.com/a/v3dz2tI "Intent, Entity & Test Console Screenshot"

是否可以以其他方式将结构存储到变量中?如何正确编写结构类型?在我的项目中,我想在一个函数内声明一个结构,并在另一个函数内创建实例。

1 个答案:

答案 0 :(得分:5)

  

如何将结构存储到Rust中的变量中?

Rust是一种静态类型的语言,因此不可能 type 存储到变量中,然后使用该变量构造一个类型的实例。

这就是为什么您无法表达s的类型的原因;语言上根本没有词汇。


根据您要执行的操作,您不妨查看以下内容:

  • 泛型:fn f2<T: Default>()将允许创建实现T特性的任何类型Default的实例。
  • 运行时多态性:工厂函数FnOnce(i32) -> Box<Trait>可以从Trait生成实现i32的任何类型的实例。