개발 지식

개발 지식

Rust 구조체 필드를 업데이트할 땐 ..기존 문법을 활용하라

페이지 정보

profile_image
영삼이
0건 119회 25-03-28 15:16

본문

✅ 구조체 필드를 업데이트할 땐 ..기존 문법을 활용하라

중복 없이 변경된 필드만 선언할 수 있다


Rust에서 구조체 인스턴스를 업데이트할 때
모든 필드를 다시 적는 건 비효율적이다:

struct User {
    name: String,
    age: u32,
}

let user1 = User {
    name: "영삼".to_string(),
    age: 30,
};

let user2 = User {
    name: "영희".to_string(),
    age: user1.age,
};

❌ 중복 많고 가독성 떨어짐

  • 필드가 많아질수록

  • 변경하지 않는 필드까지 모두 다시 작성해야 함


..기존 문법으로 간결하게

let user2 = User {
    name: "영희".to_string(),
    ..user1
};
  • user1의 나머지 필드를 그대로 복사

  • 명확한 차이만 표현 가능


주의할 점

  • user1의 필드는 Copy가 아니면 move됨

  • 이후 user1은 소유권 잃어버림

// 여기서 user1.age는 더 이상 사용할 수 없음

✔️ 구조체 복사 시 변경 필드만 선언하고,
나머지는 ..기존으로 채우는 습관을 들이면
코드가 짧고 명확해진다.

댓글목록

등록된 댓글이 없습니다.