Sobes.tech
Intern

Aké sú typy údajov vo Swift?

sobes.tech AI

Odpoveď od AI

V jazyku Swift zahŕňajú základné dátové typy:

  1. Celé čísla: Int, UInt, Int8, UInt8, Int16, UInt16, Int32, UInt32, Int64, UInt64. Int a UInt majú veľkosť závislú od aktuálnej platformy (zvyčajne 32 alebo 64 bitov).

  2. Typy s pohyblivou čiarkou: Float (reprezentuje 32-bitové číslo s pohyblivou čiarkou), Double (reprezentuje 64-bitové číslo s pohyblivou čiarkou, preferovaná voľba pre väčšinu prípadov).

  3. Boolov typ: Bool. Môže nadobúdať hodnoty true alebo false.

  4. Reťazcový typ: String. Obsahuje sekvenciu znakov.

  5. Znaky: Character. Reprezentuje samostatný znak Unicode.

  6. Zbierky:

    • Pole (Array): Usporiadaná kolekcia rovnakých prvkov.
    • Množiny (Set): Usporiadaná kolekcia unikátnych rovnakých prvkov.
    • Slovníky (Dictionary): Usporiadaná kolekcia párov "kľúč-hodnota", kde kľúče sú unikátne a majú jeden typ, zatiaľ čo hodnoty majú iný typ.
  7. Voliteľné typy (Optional): Predstavujú buď hodnotu určitého typu, alebo absenciu hodnoty (nil). Označujú sa pridaním ? alebo ! ku typu.

  8. Ktoré (Tuple): Umožňujú skupinovať viaceré hodnoty do jedného zloženého typu. Typy hodnôt v tuple môžu byť rôzne.

  9. Dizkriminujúce zlučovacie (Enums): Umožňujú definovať skupinu súvisiacich hodnôt.

  10. Štruktúry (Struct): Typy-hodnoty. Sú vhodné na modelovanie dát.

  11. Triedy (Class): Typy-odkazy. Sú vhodné na modelovanie zložitých objektov a hierarchií.

Príklady:

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