5장. 구조체

Gillilab - TechLog·2024년 11월 17일

Rust

목록 보기
6/21

5장. 구조체

  • 구조체 정의와 인스턴스 생성

    struct User {
        username: String,
        email: String,
        active: bool,
    }
    
    let user1 = User {
        username: String::from("user1"),
        email: String::from("user1@example.com"),
        active: true,
    };
  • 필드 초기화 축약법

    fn build_user(email: String, username: String) -> User {
        User {
            email,    // email: email 대신 축약
            username, // username: username 대신 축약
            active: true,
        }
    }
  • 구조체 갱신 문법

    let user2 = User {
        email: String::from("user2@example.com"),
        ..user1 // user1의 나머지 필드 값을 사용
    };
  • 튜플 구조체

    struct Color(i32, i32, i32);
    struct Point(i32, i32, i32);
    
    let black = Color(0, 0, 0);
    let origin = Point(0, 0, 0);
  • 메서드 문법

    impl Rectangle {
        fn area(&self) -> u32 {
            self.width * self.height
        }
    }
  • 연관 함수

    impl Rectangle {
        fn square(size: u32) -> Rectangle {
            Rectangle {
                width: size,
                height: size
            }
        }
    }

0개의 댓글