Sobes.tech
Intern

Jaké jsou datové typy ve Swiftu?

sobes.tech AI

Odpověď od AI

V Swiftu hlavní datové typy zahrnují:

  1. Celá čísla: Int, UInt, Int8, UInt8, Int16, UInt16, Int32, UInt32, Int64, UInt64. Int a UInt mají velikost závislou na aktuální platformě (obvykle 32 nebo 64 bitů).

  2. Desetinná čísla: Float (reprezentuje 32bitové číslo s plovoucí desetinnou čárkou), Double (reprezentuje 64bitové číslo s plovoucí desetinnou čárkou, preferovaná volba ve většině případů).

  3. Bool: Bool. Může nabývat hodnot true nebo false.

  4. Řetězcový typ: String. Obsahuje posloupnost znaků.

  5. Znakový typ: Character. Reprezentuje jeden Unicode znak.

  6. Kolekce:

    • Pole (Array): Uspořádaná kolekce prvků stejného typu.
    • Množiny (Set): Uspořádaná kolekce unikátních prvků stejného typu.
    • Slovníky (Dictionary): Uspořádaná kolekce párů klíč-hodnota, kde klíče jsou unikátní a mají jeden typ, zatímco hodnoty mají jiný typ.
  7. Volitelné typy (Optional): Představují buď hodnotu určitého typu, nebo žádnou (nil). Označují se přidáním ? nebo ! k typu.

  8. Tuply (Tuple): Umožňují seskupit více hodnot do jednoho složeného typu. Typy hodnot v tuply mohou být různé.

  9. Enumy: Umožňují definovat skupinu souvisejících hodnot.

  10. Struktury (Struct): Typy hodnot. Vhodné pro modelování dat.

  11. Třídy (Class): Referenční typy. Vhodné pro modelování složitých objektů a hierarchií.

Pří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]

// Volitelný Int
var optionalInt: Int? = nil

// Tuply
let coordinates = (x: 10, y: 20)

// Enum
enum Status {
    case active
    case inactive
}
let currentStatus: Status = .active

// Struktura
struct Point {
    var x: Int
    var y: Int
}
let myPoint = Point(x: 5, y: 10)

// Třída
class Person {
    var name: String
    init(name: String) {
        self.name = name
    }
}
let newPerson = Person(name: "Charlie")