Latest web development tutorials

ประเภท Swift ข้อมูล

เมื่อเราใช้การเขียนโปรแกรมภาษาโปรแกรมใด ๆ ที่คุณต้องใช้ความหลากหลายของชนิดข้อมูลในการจัดเก็บข้อมูลที่แตกต่างกัน

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

ตัวแปรทั้งหมดมีชนิดของข้อมูลเพื่อตรวจสอบว่าข้อมูลที่สามารถเก็บไว้ได้


Built-in ชนิดข้อมูล

สวิฟท์ให้ความอุดมสมบูรณ์มากชนิดข้อมูลที่นี่มีหลายที่ใช้กันทั่วไปชนิดข้อมูล:

int

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

  • บนแพลตฟอร์ม 32 บิต Int และ Int32 ยาวเดียวกัน
  • บนแพลตฟอร์ม 64 บิต Int และ Int64 ยาวเดียวกัน

เว้นแต่คุณจะต้องเป็นจำนวนเต็มยาวที่เฉพาะเจาะจงในการใช้งานทั่วไป Int พอ นี้สามารถปรับปรุงความมั่นคงและสามารถนำมาใช้รหัส แม้บนแพลตฟอร์ม 32 บิต Int ช่วงจำนวนเต็มที่สามารถเก็บไว้สามารถเข้าถึงได้ -2,147,483,648 ~ 2,147,483,647 ส่วนใหญ่เวลานี้มีอยู่แล้วมีขนาดใหญ่พอ

uint

สวิฟท์ยังมีชนิดพิเศษที่ไม่ได้ลงชื่อ UInt ความยาวของคำศัพท์เดิมและระยะเวลาในเวทีเดียวกันในปัจจุบัน:

  • บนแพลตฟอร์ม 32 บิต UInt และ UInt32 ยาวเดียวกัน
  • บนแพลตฟอร์ม 64 บิต 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"

เลือกประเภท

ใช้ชนิดที่เลือกได้ (optionals) เพื่อจัดการกรณีที่อาจจะค่าที่ขาดหาย เลือกประเภทหมายถึงค่าหรือไม่มีค่า


ช่วงราคา

ตารางต่อไปนี้แสดงให้เห็นถึงพื้นที่จัดเก็บต่ำสุดและสูงสุดของประเภทที่แตกต่างกันของตัวแปรหน่วยความจำและประเภทตัวแปร:

ชนิด ขนาด (ไบต์) ราคาช่วงเวลา
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