Sobes.tech
Intern

Quali sono i tipi di dati in Swift?

sobes.tech AI

Risposta dell'AI

In Swift, i tipi di dati principali includono:

  1. Tipi interi: Int, UInt, Int8, UInt8, Int16, UInt16, Int32, UInt32, Int64, UInt64. Int e UInt hanno una dimensione che dipende dalla piattaforma corrente (di solito 32 o 64 bit).

  2. Tipi a virgola mobile: Float (rappresenta un numero a 32 bit con virgola mobile), Double (rappresenta un numero a 64 bit con virgola mobile, la scelta preferita nella maggior parte dei casi).

  3. Tipo booleano: Bool. Può assumere i valori true o false.

  4. Tipo stringa: String. Contiene una sequenza di caratteri.

  5. Tipo carattere: Character. Rappresenta un singolo carattere Unicode.

  6. Collezioni:

    • Array: Collezione ordinata di elementi dello stesso tipo.
    • Set: Collezione non ordinata di elementi unici dello stesso tipo.
    • Dizionari: Collezione non ordinata di coppie chiave-valore, dove le chiavi sono uniche e di un tipo, e i valori di un altro tipo.
  7. Tipi opzionali: Rappresentano un valore di un tipo specifico o l'assenza di valore (nil). Si indicano aggiungendo ? o ! al tipo.

  8. Tuple: Permettono di raggruppare più valori in un singolo tipo composto. I tipi dei valori nel tuple possono essere diversi.

  9. Enum: Permettono di definire un gruppo di valori correlati.

  10. Strutture: Tipi di valore. Adatte per modellare dati.

  11. Classi: Tipi di riferimento. Adatte per modellare oggetti complessi e gerarchie.

Esempi:

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