Ψηφιακός κόσμος / λογισμικό και κωδικοποίηση

Εκμάθηση λογισμικού => Swift => Μνμα ξεκίνησε π: Yunuh στις Δεκ 24, 2025, 02:37 ΜΜ

Τίτλ: Βασικοί Τύποι Δεδομένων και Optionals στο Swift
Αποσλή από: Yunuh στις Δεκ 24, 2025, 02:37 ΜΜ
Το Swift είναι μια ισχυρή και ασφαλής γλώσσα προγραμματισμού που αναπτύχθηκε για το οικοσύστημα της Apple. Χάρη στην ασφάλεια τύπων (type safety) και τη σύγχρονη σύνταξη, είναι δυνατό να εντοπίσετε σφάλματα κατά το χρόνο μεταγλώττισης. Σε αυτό το άρθρο, θα εξετάσουμε λεπτομερώς τους βασικούς τύπους δεδομένων του Swift (Int, String, Bool κ.λπ.), τους τύπους συλλογών (Array, Dictionary, Set) και μία από τις πιο σημαντικές λειτουργίες του Swift, τα Optionals, με λεπτομερή παραδείγματα.

Βασικοί Τύποι Δεδομένων
Στο Swift, οι μεταβλητές ορίζονται με var και οι σταθερές με let. Δεν είναι υποχρεωτικό να καθορίσετε τον τύπο· ο μεταγλωττιστής κάνει εξαγωγή τύπου (type inference).
Κώδικας [Επιλογή]
var yas = 30 // Εξάγεται ως τύπος Int
let isim: String = "Ahmet" // Ρητή δήλωση τύπου
var boy: Double = 1.75
var evlimi: Bool = false

Συνηθισμένοι βασικοί τύποι:

Τύποι Συλλογών
Κώδικας [Επιλογή]
var meyveler: [String] = ["elma", "armut", "muz"]
meyveler.append("kiraz")
print(meyveler[1]) // armut
print(meyveler.count) // 4

Κώδικας [Επιλογή]
var notlar: [String: Int] = ["Ahmet": 90, "Ayşe": 85]
notlar["Mehmet"] = 95
print(notlar["Ahmet"] ?? 0) // 90

Κώδικας [Επιλογή]
var renkler: Set<String> = ["kırmızı", "yeşil", "mavi"]
renkler.insert("yeşil") // Δεν προστίθεται, υπάρχει ήδη
print(renkler.contains("mavi")) // true

Optionals: Τιμές που Μπορούν να Είναι Nil
Στο Swift, μια μεταβλητή ή σταθερά μπορεί να είναι nil (κενή). Αυτό δηλώνεται με optional. Έτσι, αποτρέπονται σφάλματα "nil reference" κατά το χρόνο μεταγλώττισης.
Ορισμός:

Κώδικας [Επιλογή]
var yasString: String? = "25" // Optional String
var email: String? = nil // Μπορεί να είναι nil

Χρήση Optional
Κώδικας [Επιλογή]
let yas = Int("25")! // Μετατρέπει το "25" σε Int, αν αποτύχει προκαλεί crash
Κώδικας [Επιλογή]
if let yas = Int("25") {
    print("Yaş: \(yas)") // Χρησιμοποιείται με ασφάλεια
} else {
    print("Dönüşüm başarısız")
}

Κώδικας [Επιλογή]
let isim = optionalIsim ?? "Misafir"
Κώδικας [Επιλογή]
func kontrolEt(yasString: String?) {
    guard let yas = Int(yasString ?? "") else {
        print("Geçersiz yaş")
        return
    }
    print("Yaşınız: \(yas)")
}

Κώδικας [Επιλογή]
struct Kisi {
    var adres: Adres?
}
struct Adres {
    var sehir: String
}
let kisi = Kisi()
let sehir = kisi.adres?.sehir ?? "Bilinmiyor" // Αν nil, "Bilinmiyor"

Σύγκριση: Optional vs Non-Optional

Καλύτερες Πρακτικές

Συμπέρασμα
Οι βασικοί τύποι δεδομένων του Swift και ειδικά ο μηχανισμός των optional κάνουν τον κώδικά σας πιο ασφαλή και αναγνώσιμο. Η σωστή χρήση των optional μειώνει σημαντικά τα runtime crashes. Αποκτήστε τη συνήθεια του optional binding από την αρχή· με τον καιρό θα νιώσετε πλήρως τα πλεονεκτήματα ασφαλείας του Swift.

Πρακτική άσκηση: Δημιουργήστε μια απλή δομή "Πληροφορίες Χρήστη" και δοκιμάστε με optional πεδία!

Περιμένω τις ερωτήσεις σας στα σχόλια.