如何在Rust中将一个结构映射到另一个结构?

巴赫尔

在其他语言(例如Java)中,可以使用库将对象字段映射到另一个对象(例如mapstruct)。确实对于将控制器和服务彼此隔离非常有用。

PersonDto personDto = mapper.businessToDto(personBusiness);

而且我找不到用Rust怎么做?我没有找到任何与此相关的库或任何实现此方法的库。任何资源将不胜感激!

Kitsu

在锈病中,通常通过From特征来进行:

struct Person {
  name: String,
  age: u8,
}

struct PersonDto {
  name: String,
  age: u64,
}

impl From<Person> for PersonDto {
  fn from(p: Person) -> Self {
    Self {
      name: p.name,
      age: p.age.into(),
    }
  }
}

因此,您可以进行Into转换:

let person = Person { name: "Alex".to_string(), age: 42 };

let person_dto: PersonDto = person.into();
// or via an explicit `T::from:
let person_dto = PersonDto::from(person);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

当一个结构包含另一个结构时,如何在Go中将其转换为另一个结构?

在不克隆的情况下将一个结构数组映射到Rust中的另一个结构数组

如何在 Matlab 中将字段值从结构导出到另一个结构?

创建一个将一个键映射到另一个键的数据结构

如何在Matlab中将向量映射到另一个向量中的最近点?

如何在theano函数中将一个矩阵值映射到另一个

如何在 Vimium 中将一个键重新映射到另一个键

如何在 Python 中将一个字母映射到另一个字母?

是否可以在Rust中将一个结构的内存与另一个结构相关联?

将结构投射到另一个

如何在 Rust 中获取两个结构以使用并共享对另一个结构的引用

golang结构的另一个func更改映射

如何将一个结构向量映射或转换为另一个结构向量?

如何在Swift中从另一个结构编辑一个结构中的数组?

如何在另一个保存的结构及其字段中保存一个结构字段

如何在流中将一个字符串映射到另一个字符串?

如何在同一个docker-compose文件中将数据库从couchdb容器映射到另一个容器webapp

如何在C#中PInvoke另一个结构内的结构数组

如何在另一个结构中初始化结构数组?

作为另一个结构成员的结构如何在逻辑上工作?

如何显示一个结构的另一个结构的列表?

如何检查一个结构的实例本身是否是另一个结构的实例

在不同的层次结构中将一个视图动画化为另一个视图

在C中将一个结构分配给另一个

在Golang中将值从一个结构复制到另一个

如何将一个可观察对象映射到另一个

如何将一个对象映射到另一个对象?

如何在 React.js 中映射到另一个地图中

如何在 linq lambda select 的帮助下映射到另一个对象列表