Struct, Enum และ Trait

Rust Structs

Group related values into your own type with named fields.

  • ระดับกลาง
  • อ่าน 3 นาที
  • ตัวอย่างที่รันได้ 1 ตัวอย่าง
สิ่งที่คุณจะได้เรียนรู้
  • Defining a struct
  • Reading and changing fields
  • Struct update syntax
User
name"Ada"
age37
activetrue

Your own type with named fields

A struct is a type you define by naming its fields. It keeps related data together, such as the name, age and status of a user.

A struct value must be declared mut before a field can change. #[derive(Debug)] lets {:?} print the whole struct. ..user fills the fields that are not listed from another value, here only age.

ประเด็นสำคัญ

  1. A struct value must be mut to change a field.
  2. #[derive(Debug)] lets {:?} print it.
  3. ..user copies the remaining fields.

ตัวอย่าง Rust ที่รันได้

Rust
รันโค้ด →
main.rs
#[derive(Debug)]
struct User {
    name: String,
    age: u32,
    active: bool,
}

fn main() {
    let mut user = User {
        name: String::from("Ada"),
        age: 36,
        active: true,
    };
    user.age += 1;

    println!("{} is {}", user.name, user.age);
    println!("{:?}", user);

    let guest = User { name: String::from("Guest"), active: false, ..user };
    println!("{} {} {}", guest.name, guest.age, guest.active);
}
สร้างปุ่ม Run สำหรับตัวอย่างนี้ ผลลัพธ์จากการรันโค้ด
Ada is 37
User { name: "Ada", age: 37, active: true }
Guest 37 false

ฝึกฝน

เปิดตัวอย่างในคอมไพเลอร์ออนไลน์ ลองเปลี่ยนค่าหรือเพิ่มบรรทัด แล้วทายผลลัพธ์ก่อนกดรัน จากนั้นลองทำให้โค้ดผิดโดยตั้งใจ แล้วอ่านข้อความจากคอมไพเลอร์

เรียนบทนี้จบแล้วใช่ไหม

ทำเครื่องหมายว่าเรียนแล้วเพื่อติดตามความคืบหน้า

ฝึกด้วยโจทย์

ใช้สิ่งที่เรียนในบทนี้แก้ปัญหาจริง ทุกโจทย์รันในเบราว์เซอร์ พร้อมการทดสอบทันทีและรีวิวจาก AI

โจทย์ทั้งหมด