0Pricing
Zig Academy · บทเรียน

โครงสร้างข้อมูลนิรนามและทูเพิล

สร้างค่าที่จัดกลุ่มขึ้นเฉพาะกิจ

โครงสร้างข้อมูลนิรนามและทูเพิล เป็นบทเรียน Zig Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Zig Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Zig Academy มีบทเรียนทั้งหมด 4 บทเรียน

บางครั้งต้องใช้เพียงครั้งเดียว

การจัดกลุ่มทุกแบบไม่จำเป็นต้องมีชนิดข้อมูลที่ตั้งชื่อ Zig ให้คุณเขียนโครงสร้างข้อมูล ไม่มีชื่อ แบบแทรกไว้ตรงจุดที่ใช้งานได้

ตัดชื่อออกได้เลย

ลิเทอรัลของโครงสร้างข้อมูลไม่มีชื่อจะเริ่มด้วย .{ และแสดงฟิลด์ตามชื่อ โดยไม่ต้องเขียนชนิดข้อมูลไว้ข้างหน้า

const p = .{ .x = 1, .y = 2 };

ใช้ฟิลด์ตามปกติ

คุณอ่านฟิลด์ได้เหมือนกับโครงสร้างข้อมูลที่มีชื่อ โดยใช้ จุด ในที่นี้ p.x มีค่าเป็น 1 และ p.y มีค่าเป็น 2

const sum = p.x + p.y;

แปลงเป็นชนิดข้อมูลที่มีชื่อ

ลิเทอรัลที่ไม่มีชื่อสามารถ แปลงชนิดโดยนัยเป็นโครงสร้างข้อมูลที่มีชื่อได้เมื่อทราบชนิดเป้าหมาย เช่น ค่าที่ส่งคืน

fn make() Point {
    return .{ .x = 0, .y = 0 };
}

ทูเพิลไม่มีชื่อฟิลด์

หากไม่ใส่ชื่อฟิลด์ คุณจะได้ ทูเพิล: โครงสร้างข้อมูลไม่มีชื่อที่เข้าถึงฟิลด์ตามตำแหน่ง

const pair = .{ 1, 2 };

เข้าถึงสมาชิกทูเพิลด้วยดัชนี

เข้าถึงฟิลด์ของทูเพิลด้วย ตัวเลข ซึ่งเขียนในตำแหน่งเดียวกับชื่อฟิลด์ ดังนั้น pair[0] คือ 1 และ pair[1] คือ 2

const first = pair[0];

ชนิดข้อมูลผสมกันได้

ฟิลด์ของทูเพิลแต่ละฟิลด์สามารถเป็นชนิดที่ แตกต่างกัน ได้ ลิเทอรัลเดียวจึงเก็บจำนวนเต็ม ค่าบูลีน และสตริงพร้อมกันได้

const row = .{ 42, true, "hi" };

ทูเพิลมีความยาว

ทูเพิลยังคงเป็นโครงสร้างข้อมูล จึงมีค่า len ที่ทราบตอนคอมไพล์ ซึ่งคุณอ่านได้ด้วย tuple.len

const n = row.len; // 3

เหมาะสำหรับอาร์กิวเมนต์ของ print

std.debug.print รับทูเพิลของค่าที่ต้องการจัดรูปแบบ ค่า .{} ที่คุณส่งให้นั้นเป็นทูเพิลไม่มีชื่อ

std.debug.print("{} {}\n", .{ 1, 2 });

วนซ้ำผ่านทูเพิล

เนื่องจากความยาวทราบตั้งแต่เวลาคอมไพล์ คุณจึงวนผ่านฟิลด์ของทูเพิลด้วยลูป inline for ได้

inline for (row) |field| {
    _ = field;
}

แบบมีชื่อหรือแบบตามตำแหน่ง

เลือกใช้ โครงสร้างข้อมูลไม่มีชื่อ เมื่อชื่อช่วยให้เข้าใจชัดเจน และใช้ทูเพิลเมื่อคุณต้องการเพียงกลุ่มข้อมูลสั้น ๆ ที่มีลำดับ

ตรวจสอบอย่างรวดเร็ว

ทูเพิลกับโครงสร้างข้อมูลไม่มีชื่อที่มีชื่อฟิลด์แตกต่างกันอย่างไร

สรุปทบทวน

คุณได้รู้จัก โครงสร้างข้อมูลไม่มีชื่อและทูเพิล: .{ .x = 1 } เป็นแบบแทรกและมีชื่อ ส่วน .{ 1, 2 } เป็นทูเพิลตามตำแหน่ง 📦

คำถามที่พบบ่อย

บทเรียน “โครงสร้างข้อมูลนิรนามและทูเพิล” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “โครงสร้างข้อมูลนิรนามและทูเพิล” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Zig Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Zig Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “โครงสร้างข้อมูลนิรนามและทูเพิล”

สร้างค่าที่จัดกลุ่มขึ้นเฉพาะกิจ คุณปฏิบัติ Zig Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Zig Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Zig Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน

บทเรียน “โครงสร้างข้อมูลนิรนามและทูเพิล” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Zig Academy นี้ได้ไหม

ได้ บทเรียน Zig Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. ประกาศโครงสร้างข้อมูลและฟิลด์
  2. เมธอดและพารามิเตอร์ self
  3. ค่าเริ่มต้นของฟิลด์
  4. โครงสร้างข้อมูลนิรนามและทูเพิล
← กลับไปที่ Zig Academy