Aslında basit birşey yapmasına rağmen, çok süslü bir ismi var. Yaptığı iş değişkenleri ve sabitleri aynı String içinde birleştirme.
Yazdığınız kodun hepsini silin, sadece şunu bırakın:
var name = "Tim McGraw"
Eğer kullanıcı adını da içeren bir mesaj yazdırmak istersek, String interpolasyonu bunu kolaylaştırır: Sadece ters bölü işareti yazıp, parantez açar ve içine kodunuzu yazarsınız, ardından da parantezi kapatırsınız. Yani şöyle:
var name = "Tim McGraw"
"Your name is \(name)"
Sonuç paneli şimdi "Your name is Tim McGraw" yazısını gösterecek, çünkü string interpolasyonu bizim için ikisini birleştirdi.
Tabi +
operatörünü kullanarak şu şekilde de yazabilirdik:
var name = "Tim McGraw"
"Your name is " + name
…ama bu yetersiz, özellikle de birden çok değişkeni birleştirmek istiyorsak. Ek olarak, Swift dilindeki string interpolasyonu farklı veri tipleriyle otomatik olarak baş edebilecek kadar akıllıdır. Örneğin:
var name = "Tim McGraw"
var age = 25
var latitude = 36.166667
"Your name is \(name), your age is \(age), and your latitude is \(latitude)"
+
operatörünü kullanarak bunu gerçekleştirmek daha zor, çünkü Swift dili tam sayılarla kesirli sayıları aynı metinde birleştirmenize izin vermez.
Bu noktada kodunuzun çıktısı sonuç paneline artık sığmayabilir, dolayısıyla ya pencerinizi genişleterek, ya da sonucun üzerinde imleci bekleterek veya kod panelinde gösterilen + butonuna tıklayarak görünür hale getirebilirsiniz.
String interpolasyonunun güçlü özelliklerinden birisi de, \(
ile )
arasındaki her şeyin aslında tam bir Swift ifadesi olabileceğidir. Örneğin, aşağıda gösterildiği gibi operatörleri kullanarak matematik işlemi yapabilirsiniz:
var age = 25
"You are \(age) years old. In another \(age) years you will be \(age * 2)."
SPONSORED Take the pain out of configuring and testing your paywalls. RevenueCat's Paywalls allow you to remotely configure and A/B test your entire paywall UI without any code changes or app updates.
Sponsor Hacking with Swift and reach the world's largest Swift community!
Link copied to your pasteboard.