İçeriğe geç
Educora
Başlangıç15 dk2 / 14

Sabitler, değişkenler, türler ve karakter dizileri

`let` ve `var` ile değerleri sakla, Swift'in temel türlerini ve tür çıkarımını öğren, karakter dizilerine interpolasyonla değer yerleştir.

Kendini test et
Bu derste öğreneceklerin
  • let ile sabit, var ile değişken tanımlamak ve farkı açıklamak
  • Int, Double, String, Bool türlerini tanımak ve birbirine dönüştürmek
  • Karakter dizisi interpolasyonu ve metotlarıyla çalışmak

Bir oyunda puanın her dakika değişir ama doğum yılın hiç değişmez. Programlar da bu tür bilgileri hatırlamak zorundadır: bazıları değişir, bazıları sabit kalır. Swift bu iki durumu kesin olarak birbirinden ayırır ve bu da programları daha güvenli yapar.

`let` ve `var`

Bir değeri hatırlamak için ona bir ad veririz. **let ile tanımlanan ad bir sabittir: değeri bir kez verilir ve sonra değiştirilemez. var ile tanımlanan ad ise bir değişkendir**: ona istediğin zaman yeni bir değer verebilirsin. = işareti burada “eşittir” değil, “bu değeri kaydet” anlamına gelir.

Swift
let birthYear = 2012
var score = 0
score = 10
score += 5
print(birthYear)
print(score)
Beklenen çıktı
2012
15

score += 5, score = score + 5 ifadesinin kısa yazılışıdır. Aynı şekilde -=, *= ve /= de vardır. Bir sabitin değerini değiştirmeye çalışırsan derleyici programı çalıştırmaz:

Swift
let city = "Baku"
city = "Ganja" // error: cannot assign to value: 'city' is a 'let' constant
Bu kod derlenmez.

Türler ve tür çıkarımı

Swift'te her değerin bir türü vardır ve tür asla değişmez. En sık kullanılan türler şunlardır:

TürNe saklarÖrnek
Inttam sayılar42, -7
Doubleondalıklı sayılar3.14, 1.62
Stringmetin"Baku"
Charactertek bir karakter"A"
Boolmantıksal değer: doğru ya da yanlıştrue, false
Tanım
Tür çıkarımı

Derleyicinin türü değerin kendisinden belirlemesi. let age = 13 yazdığında Swift, age'in Int olduğunu kendisi anlar. Türü açıkça da belirtebilirsin: let price: Double = 5.

Swift
let age = 13
let height = 1.62
let name = "Leyla"
let isStudent = true
let price: Double = 5
print(age, height, name, isStudent, price)
print(type(of: height))
Beklenen çıktı
13 1.62 Leyla true 5.0
Double

Swift tür güvenli bir dildir: Int ve Double türündeki değişkenleri doğrudan toplayamaz ya da çarpamazsın. Önce birini diğerinin türüne dönüştürmen gerekir. Dönüştürme türün adıyla yazılır: Double(apples), Int(7.9), String(42). Dikkat: Int(7.9) yuvarlamaz, yalnızca ondalık kısmı atar.

Swift
let apples = 3
let pricePerKg = 2.5
// let total = apples * pricePerKg  // error: Int * Double
let total = Double(apples) * pricePerKg
print(total)
print(Int(7.9))
print(String(42) + "!")
Beklenen çıktı
7.5
7
42!

Karakter dizileri ve interpolasyon

Karakter dizileri + ile birleştirilebilir. Ama daha pratik yol interpolasyondur: dizinin içine ters eğik çizgi \ ve ardından parantez içinde bir değer ya da ifade yazarsın; o da metne yerleştirilir. Aşağıdaki örneğe bak. Böylece sayıları önce karakter dizisine dönüştürmen gerekmez.

Swift
let firstName = "Aysel"
let lastName = "Mammadova"
let fullName = firstName + " " + lastName
print(fullName)

let age = 14
print("\(firstName) is \(age) years old.")
print("In 5 years she will be \(age + 5).")
Beklenen çıktı
Aysel Mammadova
Aysel is 14 years old.
In 5 years she will be 19.

Karakter dizilerinin faydalı özellik ve metotları vardır: count karakter sayısını, uppercased() ve lowercased() büyük ve küçük harfli hâlini verir; hasPrefix(_:) dizinin nasıl başladığını, contains(_:) ise içinde bir parçanın olup olmadığını kontrol eder. isEmpty dizinin boş olup olmadığına bakar.

Swift
let word = "Swift"
print(word.count)
print(word.uppercased())
print(word.lowercased())
print(word.hasPrefix("Sw"))
print(word.contains("if"))
print("".isEmpty)
Beklenen çıktı
5
SWIFT
swift
true
true
true

Birkaç satırlık metin için üç çift tırnak (""") kullanılır. İnterpolasyon bu tür metinlerde de çalışır:

Swift
let student = "Elvin"
let card = """
Student: \(student)
City: Baku
"""
print(card)
Beklenen çıktı
Student: Elvin
City: Baku
1 / 5

Önemli noktalar

  • let sabit, var değişken tanımlar; mümkün olan her yerde let kullan.
  • Temel türler: Int, Double, String, Character, Bool.
  • Swift türü değerden kendisi çıkarır, ama : Tür ile açıkça da yazılabilir.
  • Farklı türler karıştırılamaz; Double(x), Int(x), String(x) ile dönüştür.
  • İnterpolasyon — dizi içinde ters eğik çizgi ve parantez — herhangi bir değeri ya da ifadeyi metne yerleştirir.

Kendini test et

10 soru. Her doğru cevap XP kazandırır.

1 / 10
Değeri hiç değişmeyecek bir ad hangi anahtar sözcükle tanımlanır?