บทช่วยสอน ประเภท Swift ข้อมูล ที่ดีที่สุดในปี 2024 ในบทช่วยสอนนี้ คุณสามารถเรียนรู้ Built-in ชนิดข้อมูล,ช่วงราคา,นามแฝงประเภท,ประเภทการรักษาความปลอดภัย,อนุมานชนิด,
เมื่อเราใช้การเขียนโปรแกรมภาษาโปรแกรมใด ๆ ที่คุณต้องใช้ความหลากหลายของชนิดข้อมูลในการจัดเก็บข้อมูลที่แตกต่างกัน
ชนิดข้อมูลของตัวแปรกำหนดวิธีการที่หน่วยความจำบิตค่าเหล่านี้ในหน่วยความจำของคอมพิวเตอร์ นอกจากนี้คุณยังสามารถระบุชนิดของข้อมูลเมื่อคุณประกาศตัวแปร
ตัวแปรทั้งหมดมีชนิดของข้อมูลเพื่อตรวจสอบว่าข้อมูลที่สามารถเก็บไว้ได้
สวิฟท์ให้ความอุดมสมบูรณ์มากชนิดข้อมูลที่นี่มีหลายที่ใช้กันทั่วไปชนิดข้อมูล:
โดยทั่วไปแล้วคุณไม่จำเป็นต้องกำหนดเฉพาะจำนวนเต็มยาว สวิฟท์ยังมีบริการพิเศษชนิดจำนวนเต็ม Int
ความยาวของคำศัพท์เดิมและระยะเวลาในเวทีเดียวกันในปัจจุบัน:
Int
และ Int32
ยาวเดียวกัน Int
และ Int64
ยาวเดียวกัน เว้นแต่คุณจะต้องเป็นจำนวนเต็มยาวที่เฉพาะเจาะจงในการใช้งานทั่วไป Int
พอ นี้สามารถปรับปรุงความมั่นคงและสามารถนำมาใช้รหัส แม้บนแพลตฟอร์ม 32 บิต Int
ช่วงจำนวนเต็มที่สามารถเก็บไว้สามารถเข้าถึงได้ -2,147,483,648
~ 2,147,483,647
ส่วนใหญ่เวลานี้มีอยู่แล้วมีขนาดใหญ่พอ
สวิฟท์ยังมีชนิดพิเศษที่ไม่ได้ลงชื่อ UInt
ความยาวของคำศัพท์เดิมและระยะเวลาในเวทีเดียวกันในปัจจุบัน:
UInt
และ UInt32
ยาวเดียวกัน UInt
และ UInt64
ยาวเดียวกัน หมายเหตุ:
พยายามที่จะไม่ใช้UInt
เว้นแต่คุณจริงๆต้องเก็บแพลตฟอร์มปัจจุบันและคำศัพท์เดิมของระยะเวลาเดียวกันจำนวนเต็มไม่ได้ลงนาม นอกจากนี้ก็เป็นที่นิยมใช้Int
แม้ว่าคุณต้องการที่จะเก็บค่าของที่รู้จักกันในเชิงลบ แบบครบวงจรใช้Int
สามารถนำมาใช้ในการปรับปรุงรหัสเพื่อหลีกเลี่ยงการแปลงระหว่างรูปแบบที่แตกต่างกันของดิจิตอลและดิจิตอลประเภทการจับคู่การอนุมานอ้างถึง ประเภทของการรักษาความปลอดภัยและประเภทการอนุมาน
ลอยเป็นจำนวนที่มีส่วนทศนิยมเช่น 3.14159
, 0.1
และ -273.15
กว้างกว่าชนิดเป็นตัวแทนจุดลอยตัวของชนิดจำนวนเต็มที่สามารถเก็บได้มากกว่า Int
ขนาดใหญ่หรือเล็กหมายเลขประเภท ข้อเสนอสวิฟท์ลงนามสองประเภท floating-point:
Double
แทน 64 บิตจุดลอย เมื่อคุณจำเป็นต้องเก็บเลขทศนิยมขนาดใหญ่หรือมากมีความแม่นยำสูงโปรดใช้ประเภทนี้ Float
หมายถึงจำนวนจุดลอยตัว 32 บิต ความแม่นยำน้อยกว่านั้นเราสามารถใช้ประเภทนี้ หมายเหตุ:
Double
ที่มีความแม่นยำสูงมากอย่างน้อย 15 หลักFloat
ที่เกิดขึ้นเพียงตัวเลขหกหลัก เลือกช่วงของค่าขึ้นอยู่กับประเภทรหัสของคุณจำเป็นต้องได้รับการแก้ไข
สวิฟท์มีแบบบูลโรงแรมระดับล่าง (บูลีน) ชนิดที่เรียกว่า Bool ค่าบูลีนหมายถึงตรรกะคุ้มค่าเพราะพวกเขาเท่านั้นที่สามารถเป็นจริงหรือเท็จ สวิฟท์มีสองแบบบูลคงจริงและเท็จ
สตริงคือชุดของลำดับของตัวอักษรเช่น:
"Hello, World!"
ตัวอักษรหมายถึงตัวอักษรเดียวตัวอย่างเช่น:
"C"
ตารางต่อไปนี้แสดงให้เห็นถึงพื้นที่จัดเก็บต่ำสุดและสูงสุดของประเภทที่แตกต่างกันของตัวแปรหน่วยความจำและประเภทตัวแปร:
ชนิด | ขนาด (ไบต์) | ราคาช่วงเวลา |
---|---|---|
Int8 | 1 ไบต์ | -127 ถึง 127 |
UInt8 | 1 ไบต์ | 0-255 |
Int32 | 4 ไบต์ | -2147483648 2147483647 |
UInt32 | 4 ไบต์ | 0-4294967295 |
Int64 | 8 ไบต์ | -9223372036854775808 การ 9223372036854775807 |
UInt64 | 8 ไบต์ | 0-18446744073709551615 |
ลอย | 4 ไบต์ | 1.2E-38 3.4E + 38 (~ 6 หลัก) |
สอง | 8 ไบต์ | 2.3E-308 เพื่อ 1.7E + 308 (~ 15 หลัก) |
พิมพ์นามแฝงสำหรับชนิดปัจจุบันกำหนดชื่ออื่นพิมพ์นามแฝงที่กำหนดโดยใช้คำ typealias ไวยากรณ์เป็นดังนี้:
typealias newname = type
ตัวอย่างต่อไปนี้กำหนด Int เท้าชนิดนามแฝง:
typealias Feet = Int
ตอนนี้เราสามารถกำหนดตัวแปรนามแฝง:
import Cocoa typealias Feet = Int var distance: Feet = 100 print(distance)
เราใช้สนามเด็กเล่นโปรแกรมดังกล่าวข้างต้นผลลัพธ์คือ:
100
สวิฟท์เป็นประเภทของการรักษาความปลอดภัย (ชนิดที่ปลอดภัย) ภาษา
เพราะสวิฟท์เป็นประเภทปลอดภัยดังนั้นมันจะเป็นประเภทของการตรวจสอบ (ประเภทการตรวจสอบ) ที่รวบรวมรหัสของคุณและไม่ตรงกับชนิดของเครื่องหมายเป็นข้อผิดพลาด นี้จะช่วยให้คุณสามารถค้นหาและแก้ไขข้อผิดพลาดในช่วงต้นของการพัฒนาของเวลา
import Cocoa var varA = 42 varA = "This is hello" print(varA)
ขั้นตอนข้างต้นจะได้รับใน Xcode:
error: cannot assign value of type 'String' to type 'Int' varA = "This is hello"
ความหมายไม่สามารถเป็นสตริง 'String' กำหนดให้กับตัวแปร 'Int'
เมื่อคุณต้องจัดการกับความแตกต่างของค่าการตรวจสอบชนิดสามารถช่วยให้คุณหลีกเลี่ยงความผิดพลาด แต่นี้ไม่ได้หมายความว่าเวลาที่คุณกำหนดค่าคงที่และตัวแปรทุกความต้องการอย่างชัดเจนระบุชนิด
หากคุณไม่ได้ระบุอย่างชัดเจนชนิดสวิฟท์ใช้อนุมานชนิด (อนุมานชนิด) เพื่อเลือกประเภทที่เหมาะสม
ตัวอย่างเช่นถ้าคุณให้ค่าคงที่ใหม่ 42 และไม่ได้ระบุชนิดสวิฟท์สามารถอนุมานชนิด int คงเพราะค่าเริ่มต้นที่คุณกำหนดดูเหมือนว่าจำนวนเต็ม:
let meaningOfLife = 42 // meaningOfLife 会被推测为 Int 类型
ในทำนองเดียวกันถ้าคุณไม่ได้มีการระบุประเภทของตัวอักษรลอยจุดที่สวิฟท์จะอนุมานที่คุณต้องการเป็นคู่:
let pi = 3.14159 // pi 会被推测为 Double 类型
เมื่ออนุมานชนิดลอยจุดสวิฟท์มักจะเลือกแทนการลอยดับเบิล
หากการแสดงออกเช่นเดียวกับจำนวนเต็มและจุดลอยตัวจะได้รับการสรุปประเภทคู่:
let anotherPi = 3 + 0.14159 // anotherPi 会被推测为 Double 类型
ค่าเดิม 3 ไม่ชัดเจนประกาศชนิดและการแสดงออกมีจุดลอยตัวอักษรแสดงออกจะได้รับการสันนิษฐานว่าประเภทดับเบิล
import Cocoa // varA 会被推测为 Int 类型 var varA = 42 print(varA) // varB 会被推测为 Double 类型 var varB = 3.14159 print(varB) // varC 也会被推测为 Double 类型 var varC = 3 + 0.14159 print(varC)
การดำเนินงานของโค้ดข้างต้นผลลัพธ์คือ:
42 3.14159 3.14159