Swiftda qanday ma'lumot turlari mavjud?
sobes.tech AI
AIdan javob
Swift tilida asosiy ma'lumot turlari quyidagilardan iborat:
-
Butun son turlari:
Int,UInt,Int8,UInt8,Int16,UInt16,Int32,UInt32,Int64,UInt64.IntvaUIntplatformaga bog'liq bo'lib, odatda 32 yoki 64 bit bo'ladi. -
Oqimli son turlari:
Float(32-bitli oqimli sonni ifodalaydi),Double(64-bitli oqimli sonni ifodalaydi, ko'p hollarda afzalroq tanlov). -
Boolean turi:
Bool.trueyokifalseqiymatlarni oladi. -
String turi:
String. Harf ketma-ketligini o'z ichiga oladi. -
Xarakter turi:
Character. Yagona Unicode xarakterini ifodalaydi. -
Kolleksiyalar:
- Massivlar (
Array): Tashkiliy tartiblangan elementlar to'plami. - Setlar (
Set): Tartibsiz, takrorlanmaydigan elementlar to'plami. - Lug'atlar (
Dictionary): Tartibsiz kalit-qiymat juftliklari to'plami, kalitlar unikal va bir turda, qiymatlar esa boshqa turda.
- Massivlar (
-
Opsional turlar (
Optional): Belirli turdagi qiymat yoki qiymatsiz (nil) bo'lishi mumkin.?yoki!bilan belgilangan. -
Krotlar (
Tuple): Bir nechta qiymatlarni bitta tuzilma sifatida guruhlash imkonini beradi. Krot ichidagi qiymatlarning turlari turli bo'lishi mumkin. -
Enumlar (Tanlanganlar): Birgalikda bog'langan qiymatlar guruhini aniqlashga imkon beradi.
-
Strukturalar (
Struct): Qiymat turlari. Ma'lumotlarni modellashtirish uchun mos. -
Klasslar (
Class): Referens turlari. Murakkab ob'ektlar va hierarxiyalarni modellashtirish uchun mos.
Misollar:
// Int
let age: Int = 30
// Double
let price: Double = 19.99
// Bool
let isAvailable: Bool = true
// String
let name: String = "Alice"
// Array
let numbers: [Int] = [1, 2, 3]
// Dictionary
let person: [String: Any] = ["name": "Bob", "age": 25]
// Optional Int
var optionalInt: Int? = nil
// Tuple
let coordinates = (x: 10, y: 20)
// Enum
enum Status {
case active
case inactive
}
let currentStatus: Status = .active
// Struct
struct Point {
var x: Int
var y: Int
}
let myPoint = Point(x: 5, y: 10)
// Class
class Person {
var name: String
init(name: String) {
self.name = name
}
}
let newPerson = Person(name: "Charlie")