Sobes.tech
Intern

¿Qué tipos de datos existen en Swift?

sobes.tech AI

Respuesta de la IA

En Swift, los tipos de datos principales incluyen:

  1. Tipos enteros: Int, UInt, Int8, UInt8, Int16, UInt16, Int32, UInt32, Int64, UInt64. Int y UInt tienen un tamaño que depende de la plataforma actual (generalmente 32 o 64 bits).

  2. Tipos de punto flotante: Float (representa un número de 32 bits con punto flotante), Double (representa un número de 64 bits con punto flotante, la opción preferida en la mayoría de los casos).

  3. Tipo booleano: Bool. Puede tomar los valores true o false.

  4. Tipo de cadena: String. Contiene una secuencia de caracteres.

  5. Tipo de carácter: Character. Representa un carácter Unicode individual.

  6. Colecciones:

    • Arreglos (Array): Colección ordenada de elementos del mismo tipo.
    • Conjuntos (Set): Colección no ordenada de elementos únicos del mismo tipo.
    • Diccionarios (Dictionary): Colección no ordenada de pares clave-valor, donde las claves son únicas y de un tipo, y los valores de otro tipo.
  7. Tipos opcionales (Optional): Representan un valor de un tipo determinado o la ausencia de valor (nil). Se indican añadiendo ? o ! al tipo.

  8. Tuplas (Tuple): Permiten agrupar múltiples valores en un solo tipo compuesto. Los tipos de los valores en la tupla pueden ser diferentes.

  9. Uniones discriminadas (Enums): Permiten definir un grupo de valores relacionados.

  10. Estructuras (Struct): Tipos de valor. Adecuadas para modelar datos.

  11. Clases (Class): Tipos de referencia. Adecuadas para modelar objetos complejos y jerarquías.

Ejemplos:

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