Cuma Temmuz 9th, 2021

Swift – Variables, Collection Types, Control Flow ve Loops

ile Ebubekir Sezer

Selamlar herkese, iOS Uygulamalar geliştirebilmek için bir yazı serisi oluşturmaya çalışacağım ve bunun için ilk olarak Swift programlama dilini öğrenmemiz gerekiyor. Swift, iOS, macOS, watchOS ve tvOS uygulamaları geliştirmenizi sağlayan bir programlama dilidir. Swift dilinin temellerinden başlayarak, iOS uygulama geliştirmeyi öğreneceğiz. Bu yazımızda Değişkenler, Listeler ve Kontrol akışlarından bahsedeceğiz.

Her programlama dilinde oldugu gibi Swift programlama dilinde de Integer, String, Float, Double, Character, Bool ve Tuıples bulunmakta. Swift programlama dilinde değişken tanımlarken let veya var kullanarak tanımlarız. let değişkenin değiştirilemeyeceğini, constant oldugunu belirtir. var ise tanımlanan değişkenin değiştirebileceğini, variable olduğunu belirtir. Örnek üzerinden gitmek gerekirse şu şekilde değişkenlerimizi tanımlayabiliriz.

/*
 Swift dili otomatik olarak değişkenin türünü belirler
 Eğer değişken türün belirtmek isterseniz : Değişken türü girebiirsiniz.
 */
var language = "Swift"
var year = 2021
var phone: String = "iOS"
var nextYear = year + 1
let floatPi: Float = 3.14
let doublePi = 3.1415926535897932384626
var subject = (lanauge: "Swift", readTime: 5)

print(language)
print("Subject: \(subject.lanauge)")
print("Read Time: \(subject.readTime) min")

Swift programlama dilinde Collection Types olarak Array, Sets ve Dictionaries bulunmakta. Array içerisinde aynı tip değerler bulunmalıdır, örneğin String, Integer veya Double arrayi şeklinde tek tip bulunmalıdır. Set içerisinde de aynı tip değerler bulunmaladır fakat arraylerden farklı olarak herhangi bir index sıralaması yoktur. Set içerisinde eğer bir değer daha önceden eklendiyse tekrardan eklenemez. Son olarak Dictionaries içerisinde değişkenleri key-value(anahtar-değer) şeklinde tutar. Dictionaries içerisinde de tanımlarken belirledğiniz kurallara göre dictionaries içerisine key ve value tipleri alır. Örnek üzerinden göstermek gerekirse aşağıdaki kodları inceleyebilirsiniz.

//Collection Types

//Array
var oddNumbers = [1, 3, 5, 7, 9]
var languages: [String] = ["Swift", "Obj-C", "JavaScript", "Java"]


//Yeni element ekleniyor.
oddNumbers.append(11)
print(oddNumbers)
// Array deki ilk eleman languages.first veya languages[0] şeklinde alınabilir.
print("Programming Language \(languages[0])")

//Sondaki element Siliniyor
oddNumbers.removeLast()
print(oddNumbers)

//Array içerisindeki değer değiştiriliyor
oddNumbers[2] = 13
print(oddNumbers)

//Sets

var evenNumbers: Set<Int> = [0, 2, 4, 6, 8]
print("My Even Numbers: \(evenNumbers) count: \(evenNumbers.count)")

//Yeni element ekleniyor
evenNumbers.insert(10)
print(evenNumbers)

//Element'i girerek Set'den silinyor
evenNumbers.remove(6)
print(evenNumbers)

//Döngü içerisine alıp Set değerlerini basabiliriz.
for number in evenNumbers {
    print(number)
}

//Dictionaries
var countryCodes: [String: String] = ["Turkey": "TR", "England": "EN", "Germany": "GER"]
print("Turkey Country Code: \(countryCodes["Turkey"])")

//Döngü içerisinde eğer kodları basmak istersek for içerisinde gösterebiliriz
for key in countryCodes.keys {
    print(key)
}

for (key, value) in countryCodes {
    print("Key: \(key) Value: \(value)")
}

Her programlama dilinde oldugu gibi Swift programlama dilinde de kontrol ve döngüler bulunmaktadır. İlk olarak kontrol koşullarından bahsedecek olursak if else ve switch case kontrollerini kullanarak kullanıcıya kontrollü bir şekilde değer gösterebilir veya değer ayarlayabiliriz.

// Control Flows
var programmingLanguage = "Swift"

if programmingLanguage == "Swift" {
    print("Open Xcode")
} else if programmingLanguage == "Java" {
    print("Open Android Studio")
} else {
    print("Not Found")
}

programmingLanguage = "Java"

switch programmingLanguage {
case "Swift":
    print("Open Xcode")
case "Java":
    print("Open Android Studio")
default:
    print("Not Found")
}

Son olarak döngülerden bahsetmemiz gerekirse, For ve while döngülerini kullanarak Collectionlar içerisinde gezinebiliriz.

// Loops

for number in evenNumbers {
    print(number)
}

var isFive = false
var index = 0

var isZero = false

print("Repeat While")
repeat {
    print(index)
    index += 1
} while index <= 5


print("While")
while isZero == false {
    if index == 0 {
        isZero = true
    } else {
        index -= 1
        print(index)
    }
}

Soru ve yorumlarınızı yorumlardan veya sosyal medya üzerinden iletebilirsiniz 🙂

 

Kaynaklar: https://docs.swift.org/swift-book/LanguageGuide/TheBasics.html