Sobes.tech
Intern

Какви са типовете данни в Swift?

sobes.tech AI

Отговор от AI

В Swift основните типове данни включват:

  1. Цели числа: Int, UInt, Int8, UInt8, Int16, UInt16, Int32, UInt32, Int64, UInt64. Int и UInt имат размер, който зависи от текущата платформа (обикновено 32 или 64 бита).

  2. Типове с плаваща точка: Float (представя 32-битово число с плаваща точка), Double (представя 64-битово число с плаваща точка, предпочитаният избор в повечето случаи).

  3. Булев тип: Bool. Може да приема стойности true или false.

  4. Стринг тип: String. Съдържа последователност от символи.

  5. Тип символ: Character. Представлява отделен Unicode символ.

  6. Колекции:

    • Масиви (Array): Подредена колекция от елементи от един и същи тип.
    • Множества (Set): Неподредена колекция от уникални елементи от един и същи тип.
    • Данни (Dictionary): Неподредена колекция от двойки ключ-стойност, където ключовете са уникални и имат един тип, а стойностите - друг.
  7. Опционални типове (Optional): Представляват или стойност от определен тип, или липса на стойност (nil). Обозначават се с добавяне на ? или ! към типа.

  8. Кортежи (Tuple): Позволяват групиране на множество стойности в един тип. Типовете на стойностите в кортежа могат да са различни.

  9. Enums: Позволяват дефиниране на група свързани стойности.

  10. Структури (Struct): Типове стойност. Подходящи за моделиране на данни.

  11. Класове (Class): Типове препратка. Подходящи за моделиране на сложни обекти и йерархии.

Примери:

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

// Опционално Int
var optionalInt: Int? = nil

// Кортеж
let coordinates = (x: 10, y: 20)

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

// Структура
struct Point {
    var x: Int
    var y: Int
}
let myPoint = Point(x: 5, y: 10)

// Клас
class Person {
    var name: String
    init(name: String) {
        self.name = name
    }
}
let newPerson = Person(name: "Charlie")