Sobes.tech
Intern

Milyen adattípusok vannak Swiftben?

sobes.tech MI

Válasz az MI-től

Swiftben a fő adat típusok a következők:

  1. Egész típusok: Int, UInt, Int8, UInt8, Int16, UInt16, Int32, UInt32, Int64, UInt64. Az Int és UInt mérete a jelenlegi platformtól függ (általában 32 vagy 64 bit).

  2. Lebegőpontos típusok: Float (egy 32 bites lebegőpontos számot ábrázol), Double (egy 64 bites lebegőpontos számot ábrázol, a legtöbb esetben ez az ajánlott választás).

  3. Logikai típus: Bool. Értéke true vagy false lehet.

  4. Sztring típus: String. Karakterek sorozatát tartalmazza.

  5. Karakter típus: Character. Egy Unicode karaktert ábrázol.

  6. Gyűjtemények:

    • Tömbök (Array): Rendezett azonos típusú elemek gyűjteménye.
    • Halmazok (Set): Rendezettlen, egyedi elemek gyűjteménye.
    • Szótárak (Dictionary): Rendezettlen kulcs-érték párok gyűjteménye, ahol a kulcsok egyediek és egy típusúak, az értékek pedig más típusúak.
  7. Opcióális típusok (Optional): Egy adott típus értékét vagy nil-t tartalmazhatnak. A ? vagy ! hozzáadásával jelöljük.

  8. Tupelok (Tuple): Több érték csoportosítása egyetlen típusba. A tuple értékeinek típusai lehetnek különbözőek.

  9. Enumerációk (Enums): Kapcsolódó értékek csoportjának meghatározására.

  10. Struktúrák (Struct): Értéktípusok. Adatok modellezésére alkalmasak.

  11. Osztályok (Class): Hivatkozástípusok. Komplex objektumok és hierarchiák modellezésére.

Példák:

// 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]

// Opcional Int
var optionalInt: Int? = nil

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

// Osztály
class Person {
    var name: String
    init(name: String) {
        self.name = name
    }
}
let newPerson = Person(name: "Charlie")