Jenis data pantas
Apabila kita memprogram dalam mana-mana bahasa pengaturcaraan, kita perlu menggunakan pelbagai jenis data untuk menyimpan maklumat yang berbeza.
Jenis data pembolehubah menentukan cara bit yang mewakili nilai tersebut disimpan dalam memori komputer. Anda juga boleh menentukan jenis data pembolehubah apabila mengisytiharkannya.
Semua pembolehubah mempunyai jenis data untuk menentukan jenis data yang boleh disimpan.
Jenis data terbina dalam
Swift menyediakan set jenis data yang sangat kaya Berikut menyenaraikan beberapa jenis data yang biasa digunakan:
Int
<. 🎜 >Secara umumnya, anda tidak perlu menentukan panjang integer secara khusus. Swift menyediakan jenis integer khas dengan panjang yang sama dengan panjang perkataan asli platform semasa: Int
- Pada platform 32-bit,
dan
Int
mempunyai sama panjang.Int32
- Pada platform 64-bit,
dan
Int
adalah sama panjang.Int64
sudah memadai. Ini meningkatkan ketekalan kod dan kebolehgunaan semula. Walaupun pada platform 32-bit, julat integer yang Int
boleh disimpan ialah Int
~-2,147,483,648
, yang cukup besar pada kebanyakan masa. 2,147,483,647
, yang panjangnya sama dengan panjang perkataan asli platform semasa: UInt
- Pada platform 32-bit,
dan
UInt
adalah sama panjang.UInt32
- Pada platform 64-bit,
dan
UInt
adalah sama panjang.UInt64
Nota:Nombor titik terapungNombor titik terapung ialah nombor dengan bahagian perpuluhan, sepertiCuba untuk tidak menggunakan
melainkan anda benar-benar perlu menyimpan integer yang tidak ditandatangani dengan panjang yang sama dengan panjang perkataan asli platform semasa. Kecuali dalam kes ini, lebih baik menggunakanUInt
walaupun nilai yang anda ingin simpan diketahui bukan negatif. Penggunaan seragamInt
boleh meningkatkan kebolehgunaan semula kod, mengelakkan penukaran antara jenis nombor yang berbeza dan sepadan dengan jenis inferens nombor Sila rujuk Jenis Keselamatan dan Jenis Inferens.Int
, 3.14159
dan 0.1
. Jenis titik terapung -273.15
. Swift menyediakan dua jenis nombor titik terapung yang ditandatangani: Int
mewakili nombor titik terapung 64-bit. Gunakan jenis ini apabila anda perlu menyimpan nombor titik terapung yang sangat besar atau berketepatan tinggi.
Double
mewakili nombor titik terapung 32-bit. Jenis ini boleh digunakan jika keperluan ketepatan tidak tinggi.
Float
Nota:
sangat tepat dan mempunyai sekurang-kurangnya 15 digit, manakalaDouble
mempunyai sekurang-kurangnya 6 digit. Jenis yang anda pilih bergantung pada julat nilai yang perlu dikendalikan oleh kod anda.Float
Nilai Boolean
Swift mempunyai jenis Boolean asas yang dipanggil Bool. Nilai Boolean merujuk kepada nilai logik kerana ia hanya boleh benar atau salah. Swift mempunyai dua pemalar Boolean, benar dan salah.
String
Rentetan ialah koleksi jujukan aksara, contohnya:
"Hello, World!"
Watak
Watak merujuk kepada satu huruf, contohnya:
"C"
Jenis pilihan
Gunakan jenis pilihan (pilihan) untuk mengendalikan situasi di mana nilai mungkin tiada. Jenis pilihan mewakili sama ada nilai atau tiada nilai.Julat nilai
Jadual berikut menunjukkan ruang storan jenis pembolehubah yang berbeza, dan nilai maksimum dan minimum jenis pembolehubah:
类型 | 大小(字节) | 区间值 |
---|---|---|
Int8 | 1 字节 | -127 到 127 |
UInt8 | 1 字节 | 0 到 255 |
Int32 | 4 字节 | -2147483648 到 2147483647 |
UInt32 | 4 字节 | 0 到 4294967295 |
Int64 | 8 字节 | -9223372036854775808 到 9223372036854775807 |
UInt64 | 8 字节 | 0 到 18446744073709551615 |
Float | 4 字节 | 1.2E-38 到 3.4E+38 (~6 digits) |
Double | 8 字节 | 2.3E-308 到 1.7E+308 (~15 digits) |
Alias jenis
Alias jenis mentakrifkan nama lain untuk jenis alias jenis semasa ditakrifkan menggunakan kata kunci typealias. Format sintaks adalah seperti berikut:
typealias newname = type
Sebagai contoh, yang berikut mentakrifkan jenis alias Int sebagai Kaki:
typealias Feet = Int
Sekarang, kita boleh mentakrifkan pembolehubah melalui alias:
import Cocoa typealias Feet = Int var distance: Feet = 100 print(distance)
Kami menggunakan pelaksanaan taman permainan Hasil keluaran program di atas ialah:
100
Keselamatan jenis
Swift ialah bahasa jenis selamat.
Oleh kerana Swift selamat jenis, ia menjalankan semakan jenis apabila menyusun kod anda dan menandakan jenis yang tidak sepadan sebagai ralat. Ini membolehkan anda mencari dan membetulkan pepijat awal semasa pembangunan.
import Cocoa var varA = 42 varA = "This is hello" print(varA)
Atur cara di atas akan melaporkan ralat dalam Xcode:
error: cannot assign value of type 'String' to type 'Int' varA = "This is hello"
Ini bermakna rentetan 'String' tidak boleh diberikan kepada pembolehubah 'Int'.
Taip inferens
Semakan jenis boleh membantu anda mengelakkan ralat apabila anda perlu berurusan dengan nilai jenis yang berbeza. Walau bagaimanapun, ini tidak bermakna anda perlu menyatakan jenis secara eksplisit setiap kali anda mengisytiharkan pemalar atau pembolehubah.
Jika anda tidak menyatakan jenis secara eksplisit, Swift menggunakan inferens jenis untuk memilih jenis yang sesuai.
Sebagai contoh, jika anda menetapkan nilai 42 kepada pemalar baharu dan tidak menunjukkan jenis, Swift boleh membuat kesimpulan bahawa jenis pemalar ialah Int kerana nilai awal yang anda tetapkan ia kelihatan seperti integer:
let meaningOfLife = 42 // meaningOfLife 会被推测为 Int 类型
Begitu juga, jika anda tidak menentukan jenis untuk literal titik terapung, Swift akan membuat kesimpulan bahawa anda mahu Double:
let pi = 3.14159 // pi 会被推测为 Double 类型
Apabila membuat kesimpulan jenis nombor titik terapung, Swift akan sentiasa memilih Double daripada Float.
Jika kedua-dua integer dan nombor titik terapung muncul dalam ungkapan, ia akan disimpulkan sebagai Jenis Ganda:
let anotherPi = 3 + 0.14159 // anotherPi 会被推测为 Double 类型
Nilai asal 3 tidak mempunyai pengisytiharan jenis eksplisit dan perkataan titik terapung muncul dalam ungkapan literal, jadi ungkapan itu akan disimpulkan sebagai jenis Double.
Instance
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)
melaksanakan kod di atas, dan hasil output ialah:
42 3.14159 3.14159