<설명>
Field Init Shorthand : 필드 초기화 단축 을 쓰는 이유?
>> name field를가진 Data Structure (struct, enum, union)를 초기화할 때 fieldname: fieldname 형식으로 fieldname 작성을 압축 시켜 Code 중복을 적게하고 압축된 Syntax를 제공,
>> When initializing a data structure (struct, enum, union) with named fields, allow writing fieldname as a shorthand for fieldname: fieldname. This allows a compact syntax for initialization, with less duplication.
<예제 코드_1>
#[derive(Debug)]
struct Person {
name: String,
age: u8,
}
fn main() {
let name = String::from("Peter");
let age = 27;
// 전체 구문
let peter = Person { name: name, age: age };
let name = String::from("Portia");
let age = 27;
// 단축된 필드 초기화 구문
let portia = Person { name, age };
println!("{:?}", portia);
}
<예제 코드_2>
// Function을 통한 초기화
#[derive(Debug)]
struct Person {
name: String,
age: i32,
}
fn reset_field(person: &mut Person) {
person.age = 0;
}
fn main() {
let mut p = Person { name: "John".to_string(), age: 30 };
reset_field(&mut p);
println!("{:?}", &p);
}
<참조 1> https://rinthel.github.io/rust-lang-book-ko/appendix-06-newest-features.html
<참조 2> https://chat.openai.com/chat
'Rust' 카테고리의 다른 글
[Rust] HashMap 예제 (52일차) (0) | 2023.02.03 |
---|---|
[Rust] Overloading 예제 (51일차) (0) | 2023.02.02 |
[Rust] Web Server : Multi-Threading 추가 (49일차) (0) | 2023.01.31 |
[Rust] Web-Server 제작 (48일차) (0) | 2023.01.30 |
댓글