โครงสร้างข้อมูลนิรนามและทูเพิล
สร้างค่าที่จัดกลุ่มขึ้นเฉพาะกิจ
โครงสร้างข้อมูลนิรนามและทูเพิล เป็นบทเรียน 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- ประกาศโครงสร้างข้อมูลและฟิลด์
- เมธอดและพารามิเตอร์ self
- ค่าเริ่มต้นของฟิลด์
- โครงสร้างข้อมูลนิรนามและทูเพิล