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

เมื่อใดควรเพิ่มคำอธิบายชนิดอย่างชัดเจน

ระบุชนิดเพื่อแก้ความกำกวมและบันทึกเจตนา

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

เหตุผลที่ต้องระบุชนิด

แม้การอนุมานจะมีประสิทธิภาพ แต่การระบุชนิดอย่างชัดเจนช่วยเพิ่มความชัดเจน แก้ความกำกวม และบันทึกเจตนาของโค้ด

let temperature: Double = 36
print(temperature)
print(type(of: temperature))

บังคับให้เป็น Double

หากไม่ระบุชนิด let x = 5 จะเป็น Int ให้ระบุชนิดเพื่อทำให้เป็น Double เมื่อคุณต้องใช้การคำนวณแบบมีเศษส่วนในภายหลัง

let count: Double = 5
let average = count / 2
print(average)

คอลเลกชันว่าง

ค่าลิเทอรัลว่างไม่มีสมาชิกให้ใช้อนุมาน ดังนั้นคุณต้องระบุชนิดอย่างชัดเจน

var scores: [Int] = []
scores.append(10)
print(scores)

พจนานุกรมว่าง

กฎเดียวกันนี้ใช้กับพจนานุกรมว่างด้วย โดยต้องระบุทั้งชนิดของคีย์และชนิดของค่า

var ages: [String: Int] = [:]
ages["Ada"] = 36
print(ages)

การแยกความกำกวมของโอเวอร์โหลด

เมื่อมีตัวสร้างหลายตัวที่อาจตรงกัน การระบุชนิดจะบอกคอมไพเลอร์ว่าคุณหมายถึงตัวใด

let small: Int8 = 100
let big: Int64 = 100
print(type(of: small), type(of: big))

การบันทึกค่าที่จัดเก็บ

ในพร็อพเพอร์ตีที่จัดเก็บ จำเป็นต้องระบุชนิดอย่างชัดเจน และยังทำหน้าที่เป็นเอกสารสำหรับผู้อ่านด้วย

struct Account {
    var balance: Double = 0
    var owner: String = "Unknown"
}
let a = Account()
print(a.balance, a.owner)

การระบุชนิดเพื่อให้อ่านง่าย

สำหรับนิพจน์ที่ยาวหรือไม่ชัดเจน การระบุชนิดช่วยให้ผู้อ่านทราบชนิดของผลลัพธ์ได้ทันที

let ratio: Double = 22 / 7
print(ratio)

ชนิดออปชัน

คุณมักระบุชนิดของค่าออปชันอย่างชัดเจน เพราะ nil เพียงอย่างเดียวไม่มีชนิดที่อนุมานได้

var nickname: String? = nil
nickname = "Ace"
print(nickname ?? "none")

คลอสเชอร์ที่ไม่ส่งคืนค่า

เมื่อคลอสเชอร์ที่จัดเก็บไว้อาจกำกวม ให้ระบุชนิดทั้งหมดของคลอสเชอร์

let action: () -> Void = {
    print("ran")
}
action()

การแปลงค่าลิเทอรัลตัวเลข

การระบุชนิดช่วยให้ค่าลิเทอรัลเดียวกันนำไปใช้กับชนิดตัวเลขที่แตกต่างกันได้โดยไม่ต้องเรียกใช้ฟังก์ชันแปลงด้วยตนเอง

let cpu: UInt8 = 255
let wide: UInt32 = 255
print(cpu, wide)

สร้างสมดุลระหว่างการอนุมานกับการระบุชนิด

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

let obvious = "clear"       // inference is fine
let precise: Double = 9     // annotation needed
print(obvious, precise)

ตรวจสอบความเข้าใจ

เมื่อใดจึงจำเป็นต้องระบุชนิด

สรุปทบทวน

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

var list: [String] = []
let rate: Double = 5
print(list, rate)

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

บทเรียน “เมื่อใดควรเพิ่มคำอธิบายชนิดอย่างชัดเจน” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “เมื่อใดควรเพิ่มคำอธิบายชนิดอย่างชัดเจน”

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

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

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

บทเรียน “เมื่อใดควรเพิ่มคำอธิบายชนิดอย่างชัดเจน” ใช้เวลานานแค่ไหน

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

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

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

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

  1. การอนุมานชนิดทำงานอย่างไร
  2. เมื่อใดควรเพิ่มคำอธิบายชนิดอย่างชัดเจน
  3. การอนุมานจากค่าคงที่
  4. การอนุมานชนิดในคลอเชอร์
← กลับไปที่ Swift Academy