การอนุมานจากค่าคงที่
ควบคุมว่าค่าคงที่จะกลายเป็น Int หรือ Double
การอนุมานจากค่าคงที่ เป็นบทเรียน Swift Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Swift Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Swift Academy มีบทเรียนทั้งหมด 4 บทเรียน
ชนิด default ของค่าลิเทอรัล
ค่าลิเทอรัลแต่ละชนิดมีชนิดที่อนุมานเป็นค่า default ได้แก่ จำนวนเต็มเป็น Int จำนวนทศนิยมเป็น Double ข้อความเป็น String และค่าจริงหรือเท็จเป็น Bool
let i = 5
let d = 5.0
let s = "5"
let b = true
print(type(of: i), type(of: d), type(of: s), type(of: b))let x = 5 เป็น Int
ค่าลิเทอรัลจำนวนเต็มที่ไม่มีจุดทศนิยมจะอนุมานเป็น Int เสมอ ซึ่งเป็นชนิดจำนวนเต็ม default ของแพลตฟอร์ม
let x = 5
print(type(of: x))
print(x + 1)let y: Double = 5
การระบุชนิดด้วย Double ทำให้ค่าลิเทอรัล 5 เดียวกันกลายเป็นค่าทศนิยม
let y: Double = 5
print(type(of: y))
print(y / 2)จุดทศนิยมบังคับให้เป็น Double
การเขียน 5.0 จะอนุมานเป็น Double โดยไม่ต้องระบุชนิด
let z = 5.0
print(type(of: z))
print(z * 2)Int และ Double ใช้ร่วมกันไม่ได้
Swift จะไม่แปลงชนิดตัวเลขโดยปริยาย คุณต้องแปลงอย่างชัดเจนเมื่อต้องการใช้ Int และ Double ร่วมกัน
let count = 3
let price = 1.5
let total = Double(count) * price
print(total)Float เทียบกับ Double
ค่าทศนิยมจะใช้ Double เป็นค่า default ให้ระบุชนิดด้วย Float เมื่อคุณต้องการชนิดขนาด 32 บิตที่เล็กกว่าโดยเฉพาะ
let big = 3.14
let small: Float = 3.14
print(type(of: big), type(of: small))การระบุชนิดจำนวนเต็ม
ระบุชนิดเพื่อเลือกจำนวนเต็มตามขนาด เช่น Int8 หรือ UInt แทน Int ซึ่งเป็นค่า default
let tiny: Int8 = 120
let unsigned: UInt = 9
print(type(of: tiny), type(of: unsigned))String เทียบกับ Character
ค่าลิเทอรัลในเครื่องหมายคำพูดคู่จะอนุมานเป็น String บริบทที่มีอักขระเดียวสามารถอนุมานเป็น Character ได้เมื่อมีการระบุชนิด
let word = "Swift"
let letter: Character = "S"
print(type(of: word), type(of: letter))ค่าลิเทอรัลแบบบูลีน
คีย์เวิร์ด true และ false จะอนุมานเป็น Bool
let isReady = false
print(type(of: isReady))ค่าลิเทอรัลในนิพจน์
เมื่อค่าลิเทอรัลหลายชนิดอยู่ในนิพจน์เดียวกัน Swift จะเลือกชนิดร่วม 1 + 2.0 จึงถือว่าค่าลิเทอรัลจำนวนเต็มเป็น Double
let mixed = 1 + 2.0
print(mixed)
print(type(of: mixed))การระบุชนิดจะปรับค่าลิเทอรัล
ตัวค่าลิเทอรัลเองมีความยืดหยุ่น ส่วนการระบุชนิดจะเป็นตัวตัดสินชนิดสุดท้าย นี่คือเหตุผลที่ let y: Double = 5 ใช้งานได้โดยไม่ต้องเขียน 5.0
let a: Double = 7
let b: Float = 7
print(a, b)ตรวจสอบความเข้าใจ
ทดสอบการอนุมานค่าลิเทอรัล
สรุปทบทวน
ค่าลิเทอรัลจำนวนเต็มมีค่า default เป็น Int ส่วนค่าทศนิยมมีค่า default เป็น Double การระบุชนิดอย่าง : Double : Float : Int8 หรือ : Character จะเขียนทับค่า default โดยปรับชนิดของค่าลิเทอรัลที่ยืดหยุ่น ชนิดตัวเลขจะไม่แปลงโดยปริยาย
let i = 5
let d: Double = 5
print(type(of: i), type(of: d))คำถามที่พบบ่อย
บทเรียน “การอนุมานจากค่าคงที่” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การอนุมานจากค่าคงที่” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Swift Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Swift Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การอนุมานจากค่าคงที่”
ควบคุมว่าค่าคงที่จะกลายเป็น Int หรือ Double คุณปฏิบัติ Swift Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Swift Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Swift Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน
บทเรียน “การอนุมานจากค่าคงที่” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Swift Academy นี้ได้ไหม
ได้ บทเรียน Swift Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การอนุมานชนิดทำงานอย่างไร
- เมื่อใดควรเพิ่มคำอธิบายชนิดอย่างชัดเจน
- การอนุมานจากค่าคงที่
- การอนุมานชนิดในคลอเชอร์