รูปแบบการวนซ้ำและความสามารถในการเปลี่ยนแปลง
เรียนรู้รูปแบบการวนซ้ำทั่วไปบนอาร์เรย์/พจนานุกรม/เซต ใช้ดัชนีและ enumerated() และทำความเข้าใจความสามารถในการเปลี่ยนแปลงด้วย let กับ var (พื้นฐานการคัดลอกเมื่อเขียน)
รูปแบบการวนซ้ำและความสามารถในการเปลี่ยนแปลง เป็นบทเรียน Swift Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 3 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Swift Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Swift Academy มีบทเรียนทั้งหมด 3 บทเรียน
ทำไมต้องวนซ้ำและเปลี่ยนแปลงค่าได้
เป้าหมาย: วนซ้ำผ่านคอลเลกชันอย่างปลอดภัยและชัดเจน พร้อมรู้ว่าเมื่อใดคอลเลกชันเปลี่ยนแปลงค่าได้ เราจะครอบคลุมอาร์เรย์ พจนานุกรม เซต ดัชนี และ enumerated() รวมถึง let เทียบกับ var
วนซ้ำด้วยอาร์เรย์
การวนซ้ำจะเข้าถึงสมาชิกโดยตรง เหมาะสำหรับอาร์เรย์เพราะเรียบง่ายและชัดเจน
let nums = [10, 20, 30]
for n in nums {
print("value:", n)
}enumerated()
ใช้ enumerated() เพื่อรับคู่ (ดัชนี, ค่า) ระหว่างการวนซ้ำ
let letters = ["a","b","c"]
for (i, ch) in letters.enumerated() {
print(i, ch) // 0 a, 1 b, 2 c
}พจนานุกรมและเซต
พจนานุกรมให้คู่ (คีย์, ค่า) เซตไม่มีลำดับ จึงใช้ sorted() เพื่อให้ผลลัพธ์มีลำดับคงที่
let ages = ["Ada": 20, "Bob": 25]
for (name, age) in ages {
print(name, age)
}
let colors: Set<String> = ["red", "green", "blue"]
for c in colors.sorted() { // sort for stable order
print(c)
}ดัชนีและส่วนย่อย
ใช้ startIndex, endIndex และ index(after:) เพื่อเข้าถึงข้อมูลด้วยดัชนี ส่วนย่อยเป็นมุมมองแบบ ArraySlice
let arr = [5,6,7,8]
var i = arr.startIndex
while i < arr.endIndex {
print("arr[", i, "] =", arr[i])
i = arr.index(after: i)
}
let slice = arr[1...2] // ArraySlice
print("slice", slice)การเปลี่ยนแปลงค่าและ COW
การเปลี่ยนแปลงค่าได้: ประกาศด้วย var เพื่อแก้ไขค่า คอลเลกชันใช้การคัดลอกเมื่อเขียน จึงคัดลอกได้โดยมีต้นทุนต่ำจนกว่าจะมีการเปลี่ยนแปลง
let fixed = [1,2,3]
// fixed.append(4) // error: cannot use mutating member on immutable value
var bag = [1,2,3]
bag.append(4) // ok
var bagCopy = bag // COW: cheap copy until either changes
bagCopy[0] = 9
print("bag", bag, "copy", bagCopy)กฎการเปลี่ยนแปลงค่า
ตรวจสอบอย่างรวดเร็ว: การประกาศแบบใดทำให้คุณแก้ไขคอลเลกชันได้
สรุปทบทวน
สรุปทบทวน: ควรใช้การวนซ้ำตามสมาชิกด้วย for-in ใช้ enumerated() สำหรับดัชนีและค่า เรียงลำดับเซตเมื่อต้องการลำดับ และเข้าถึงข้อมูลด้วย ดัชนีของสตริง/อาร์เรย์ โดยเปลี่ยนค่าได้เฉพาะเมื่อใช้ var และคำนึงถึง COW
คำถามที่พบบ่อย
บทเรียน “รูปแบบการวนซ้ำและความสามารถในการเปลี่ยนแปลง” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “รูปแบบการวนซ้ำและความสามารถในการเปลี่ยนแปลง” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Swift Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Swift Academy มีบทเรียนทั้งหมด 3 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “รูปแบบการวนซ้ำและความสามารถในการเปลี่ยนแปลง”
เรียนรู้รูปแบบการวนซ้ำทั่วไปบนอาร์เรย์/พจนานุกรม/เซต ใช้ดัชนีและ enumerated() และทำความเข้าใจความสามารถในการเปลี่ยนแปลงด้วย let กับ var (พื้นฐานการคัดลอกเมื่อเขียน) คุณปฏิบัติ Swift Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Swift Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Swift Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 3 บทเรียน
บทเรียน “รูปแบบการวนซ้ำและความสามารถในการเปลี่ยนแปลง” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Swift Academy นี้ได้ไหม
ได้ บทเรียน Swift Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- อาร์เรย์ พจนานุกรม และเซต
- เซต — การตรวจสมาชิกและการดำเนินการ
- รูปแบบการวนซ้ำและความสามารถในการเปลี่ยนแปลง