簡體   English   中英

一個 map 如何成為 Rust 中另一個的結構?

[英]How does one map a struct to another one in Rust?

在其他語言(如 Java)中,庫可用於將 object 字段映射到另一個 object(如mapstruct )。 這對於隔離 controller 和服務確實很有用。

PersonDto personDto = mapper.businessToDto(personBusiness);

而且我找不到 Rust 怎么辦? 我沒有找到任何幫助解決此問題的庫或任何方法。 任何資源將不勝感激!

在 rust 中,您通常通過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);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM