Sobes.tech
Intern

Kokie duomenų tipai yra Swift?

sobes.tech AI

Atsakymas iš AI

Swift pagrindiniai duomenų tipai apima:

  1. Sveikieji skaičiai: Int, UInt, Int8, UInt8, Int16, UInt16, Int32, UInt32, Int64, UInt64. Int ir UInt dydis priklauso nuo platformos (paprastai 32 arba 64 bitų).

  2. Slankiojo kablelio tipai: Float (reprezentuoja 32 bitų skaičių su slankiu kableliu), Double (reprezentuoja 64 bitų skaičių su slankiu kableliu, dažniausiai pasirenkamas).

  3. Boolean tipas: Bool. Gali būti true arba false.

  4. Eilutės tipas: String. Laiko simbolių seką.

  5. Simboliai: Character. Reprezentuoja atskirą Unicode simbolį.

  6. Kolekcijos:

    • Masyvai (Array): Tvarkingas vieno tipo elementų rinkinys.
    • Rinkiniai (Set): Tvarkinga unikalių vieno tipo elementų kolekcija.
    • Žodynai (Dictionary): Tvarkinga porų "raktas-reikšmė" kolekcija, kur raktai yra unikalūs ir turi vieną tipą, o reikšmės - kitą.
  7. Pasirinktiniai tipai (Optional): Atstovauja arba tam tikro tipo reikšmę, arba jos nebuvimą (nil). Pažymimi pridedant ? arba ! prie tipo.

  8. Kortučių (Tuple): Leidžia grupuoti kelias reikšmes į vieną sudėtą tipą. Reikšmių tipai gali būti skirtingi.

  9. Enum: Leidžia apibrėžti susijusių reikšmių grupę.

  10. Struktūros (Struct): Reikšmių tipai, tinkami duomenų modeliui.

  11. Klasės (Class): Nuorodų tipai. Tinka sudėtingų objektų ir paveldėjimo sistemų modeliui.

Pavyzdžiai:

// 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")