Defining and Using Structs

Updated

October 31, 2026

Defining and Using Structs

Structs allow creating custom types grouping related fields.

#[derive(Debug)]
struct Ticket {
    id: u64,
    title: String,
    resolved: bool,
}

impl Ticket {
    fn new(id: u64, title: String) -> Self {
        Self { id, title, resolved: false }
    }

    fn resolve(&mut self) {
        self.resolved = true;
    }
}

fn main() {
    let mut ticket = Ticket::new(101, String::from("Fix database migration"));
    println!("Ticket: {:?}", ticket);
    ticket.resolve();
    println!("Resolved: {:?}", ticket);
}