Sobes.tech
Intern

Ποιοι είναι οι τύποι δεδομένων στο Swift;

sobes.tech AI

Απάντηση από AI

Στη Swift, οι βασικοί τύποι δεδομένων περιλαμβάνουν:

  1. Ακέραιοι τύποι: Int, UInt, Int8, UInt8, Int16, UInt16, Int32, UInt32, Int64, UInt64. Τα Int και UInt έχουν μέγεθος που εξαρτάται από την τρέχουσα πλατφόρμα (συνήθως 32 ή 64 bits).

  2. Τύποι κινητής υποδιαστολής: Float (αντιπροσωπεύει έναν 32-bit αριθμό κινητής υποδιαστολής), Double (αντιπροσωπεύει έναν 64-bit αριθμό κινητής υποδιαστολής, η προτιμώμενη επιλογή στις περισσότερες περιπτώσεις).

  3. Τύπος boolean: Bool. Μπορεί να πάρει τις τιμές true ή false.

  4. Τύπος συμβολοσειράς: String. Περιέχει μια ακολουθία χαρακτήρων.

  5. Τύπος χαρακτήρα: Character. Αντιπροσωπεύει ένα μεμονωμένο χαρακτήρα Unicode.

  6. Συλλογές:

    • Πίνακες (Array): Ταξινομημένη συλλογή στοιχείων του ίδιου τύπου.
    • Σύνολα (Set): Μη ταξινομημένη συλλογή μοναδικών στοιχείων του ίδιου τύπου.
    • Λεξικά (Dictionary): Μη ταξινομημένη συλλογή ζευγών κλειδιού-τιμής, όπου τα κλειδιά είναι μοναδικά και έχουν έναν τύπο, και οι τιμές έχουν έναν άλλο τύπο.
  7. Επιλογικοί τύποι (Optional): Αντιπροσωπεύουν είτε μια τιμή ενός συγκεκριμένου τύπου είτε την απουσία τιμής (nil). Επισημαίνονται με την προσθήκη ? ή ! στον τύπο.

  8. Τυπλά (Tuple): Επιτρέπουν την ομαδοποίηση πολλαπλών τιμών σε έναν ενιαίο σύνθετο τύπο. Οι τύποι των τιμών στο 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]

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