pub struct TokenInfo {
resource_owner_id: i64,
scopes: Vec<String>,
expires_in_seconds: i64,
application: Application,
created_at: i64,
}
이런 struct가 있을 때 new() 함수를 만들면 default값들로 채워진 struct를 반환하고 싶은데 일일이 default값을 써주는건 너무 비효율적이고 방법이 있을거 같았다.
Default trait을 쓰면 해당 type에 default값을 준다.
#[derive(Default)]
pub struct TokenInfo {
resource_owner_id: i64,
scopes: Vec<String>,
expires_in_seconds: i64,
application: Application,
created_at: i64,
}
Application도 기본 type이 아니라서 Application에도 Default를 줘야 함.
enum에는 #[derive(Default)]를 할 수 없어도 직접 적용시켜줘야 함.
impl Default for Status {
fn default() -> Self {
Status::WaitingForCorrection
}
}
이런식으로 구현해주면 된다.