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

การอนุมานชนิดข้อมูลและชนิดข้อมูลแบบระบุชัด

เรียนรู้วิธีที่ Swift อนุมานชนิดข้อมูลและเวลาที่ควรประกาศชนิดข้อมูลอย่างชัดเจน

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

ยินดีต้อนรับ

Swift เป็นภาษาที่มี *ประเภทแบบคงที่* ซึ่งค่าทุกค่าจะมีประเภทที่ทราบตั้งแต่เวลาคอมไพล์ แต่โดยทั่วไปคุณแทบไม่ต้องเขียนประเภทด้วยตนเอง เพราะ Swift จะอนุมานประเภทให้

การอนุมานประเภทคืออะไร

Swift จะตรวจสอบค่าทางด้านขวาของเครื่องหมายกำหนดค่าและอนุมานประเภทโดยอัตโนมัติ: ```swift let message = "Hello" // inferred as String let count = 42 // inferred as Int let price = 9.99 // inferred as Double ``` ไม่จำเป็นต้องใส่คำอธิบายประเภท เพราะคอมไพเลอร์จะอนุมานให้

คำอธิบายประเภทแบบชัดเจน

คุณสามารถระบุประเภทอย่างชัดเจนได้เสมอโดยใช้เครื่องหมายทวิภาค: ```swift let message: String = "Hello" let count: Int = 42 let price: Double = 9.99 ``` วิธีนี้มีประโยชน์เมื่อประเภทที่อนุมานได้ไม่ใช่ประเภทที่คุณต้องการ

เมื่อการอนุมานเลือกประเภทไม่ถูกต้อง

ลิเทอรัลเลขทศนิยมจะมีค่าเริ่มต้นเป็น `Double` หากต้องการ `Float` ให้ระบุประเภทอย่างชัดเจน: ```swift let inferred = 3.14 // Double let explicit: Float = 3.14 // Float ``` เช่นเดียวกัน ลิเทอรัลจำนวนเต็มจะมีค่าเริ่มต้นเป็น `Int` ให้ระบุประเภทหากต้องการ `Int32`, `UInt8` และประเภทอื่น ๆ

ความปลอดภัยด้านประเภทในการใช้งานจริง

เมื่อกำหนดประเภทแล้ว ประเภทนั้นจะเปลี่ยนไม่ได้: ```swift var score = 0 // Int score = "ten" // ❌ cannot assign String to Int ``` ความปลอดภัยด้านประเภทช่วยตรวจพบข้อบกพร่องประเภทนี้ระหว่างการคอมไพล์ ก่อนถึงเวลาทำงานเป็นเวลานาน

ฟังก์ชัน type(of:)

ใช้ `type(of:)` เพื่อตรวจสอบประเภทขณะทำงาน: ```swift let value = 42 print(type(of: value)) // Int let name = "Alice" print(type(of: name)) // String ``` มีประโยชน์สำหรับแก้ไขข้อผิดพลาดที่เกิดจากการอนุมานประเภทอย่างไม่คาดคิด

ชื่อแทนประเภท

`typealias` ใช้ตั้งชื่อใหม่ให้ประเภทที่มีอยู่ เพื่อให้อ่านโค้ดได้ง่ายขึ้น: ```swift typealias Celsius = Double typealias UserID = Int var temperature: Celsius = 36.6 var userId: UserID = 1001 ``` ชื่อแทนประเภทมีผลเฉพาะด้านการอ่านเท่านั้น ประเภทพื้นฐานยังคงเดิม

คำอธิบายประเภทโดยไม่กำหนดค่าเริ่มต้น

เมื่อประกาศตัวแปรโดยไม่มีค่าเริ่มต้น คุณ *ต้อง* ระบุประเภท: ```swift var name: String // ✓ annotation required name = "Bob" var total: Int total = 0 ``` Swift ไม่สามารถอนุมานประเภทได้หากไม่มีค่าให้ตรวจสอบ

ลิเทอรัลตัวเลขและความอ่านง่าย

Swift อนุญาตให้ใช้ขีดล่างในลิเทอรัลตัวเลขเพื่อให้อ่านง่ายขึ้น: ```swift let million = 1_000_000 let hex = 0xFF_EC_D3 let binary = 0b1111_0000 ``` คอมไพเลอร์จะไม่สนใจขีดล่างเหล่านี้ ซึ่งมีไว้เพื่อความอ่านง่ายเท่านั้น

การแปลงประเภท — ไม่มีการแปลงโดยปริยาย

Swift จะไม่แปลงระหว่างประเภทโดยปริยาย คุณต้องแปลงอย่างชัดเจน: ```swift let intVal: Int = 5 let dblVal: Double = Double(intVal) // explicit conversion let sum = Double(intVal) + 2.5 ``` วิธีนี้ช่วยหลีกเลี่ยงข้อบกพร่องเล็ก ๆ ที่เกิดจากการเลื่อนประเภทตัวเลขโดยไม่ตั้งใจ

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

Swift อนุมานประเภทใดให้กับ `let x = 3.14`

สรุป

ประเด็นสำคัญ: • Swift อนุมานประเภทจากค่าเริ่มต้น จึงมักไม่ต้องใส่คำอธิบายประเภท • คำอธิบายประเภทแบบชัดเจน (`: Type`) จะแทนที่การอนุมาน • เลขทศนิยมมีค่าเริ่มต้นเป็น `Double` และจำนวนเต็มมีค่าเริ่มต้นเป็น `Int` • ไม่มีการแปลงโดยปริยาย ให้ใช้ `Int()`, `Double()` และอื่น ๆ • `type(of:)` แสดงประเภทขณะทำงาน ถัดไป: ประเภทพื้นฐาน ได้แก่ ตัวเลข Bool และ Character

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

บทเรียน “การอนุมานชนิดข้อมูลและชนิดข้อมูลแบบระบุชัด” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “การอนุมานชนิดข้อมูลและชนิดข้อมูลแบบระบุชัด”

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

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

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

บทเรียน “การอนุมานชนิดข้อมูลและชนิดข้อมูลแบบระบุชัด” ใช้เวลานานแค่ไหน

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

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

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

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

  1. let กับ var: ค่าคงที่และตัวแปร
  2. การอนุมานชนิดข้อมูลและชนิดข้อมูลแบบระบุชัด
  3. ตัวเลข ค่าบูลีน และอักขระ
  4. พื้นฐานสตริงและการแทรกค่า
← กลับไปที่ Swift Academy