Ananaga asosan yangi tilni boshlashdam, ekranga "Hello world!" habarini chiqarish har doimgi odatdur. Swift tilida buni bajarish uchun biz quyidagi qator kod-dan foydalanishimiz mumkin bo'ladi.:
print("Hello, World!")
// "Hello, World!" so'zini ekranga chiqaradi.
Agar siz oldinlari C
yoki Objective-C
tillarida kod yozgan bo'lsangiz bu juda ham o'xshash tuyiladi va ushbu bir kator kod, Swift tilida to'liq dastur hisoblanadi. Siz ushbu ko'dni ishlatish uchun boshqa hech qanday boshqa bir kodni chaqirishingiz shart emas. Global qamrov (global scope)-da yozilgan kodga ushbu dasturga kirish qismi deb qaraladi va kirish qismi uchun main()
(asosiy()) qisim shart emas. Va har bir tugal qatorning oxirida nuqta-vergul ;
yozishingiz ham shart emas.
Ushubu til-sayohatimizda sizga ushbu kod orqali dasturlashning turli topshiriqlarini bajaro oladigan darajada ma'lumot berib o'tiladi. Xavotir olmang ushbu maqolamizdagi yozilganlardan nimadur tushunarsiz bo'lsa, biz buni albatta ,keyingi maqolalarimizda, chuqurroq ko'rib chiqamiz.
Oddiy qiymatlar
let
- dan foydalanib o'zgarmas (konstant) yarating, yoki var
-dan foydalanib o'zgaruvchi (variable) yaratishingiz mumkin. Dasturning compile - ya'ni komputer tiliga o'girayotganda o'zgarmas qiymat aniq bo'lishi shart emas, lekin ushbu konstanta qiymati faqat bir marta tayinlash yani (assign) qilishi kerak bo'ladi. Buni shuni anglatadiki, konstantalarni qaysidur bir qiymatni nomlash uchun ishlatishingiz mumkin va ushbu nom ostidagi qiymat bir marta tayinlanadi va bir necha marta ushbu konstanta nomidan foydalanilishi mumkin bo'ladi:
var myVariable = 42
myVariable = 50
let myConstant = 45
Konstantaning yoki o'zgaruvchining turi unga tayinlanmoqchi bo'lgan qiymatning turida bo'lishi shart. Tepadagi misolda biz konstant yoki o'zgaruvchi uchun tur ko'rsatmadi chunki uni yaratishda qiymat ham tayinladik va u ushbu swift tili compiler (tarjimon)iga ushbu konstanta yoki o'zgaruvchi qanday turda ekanligini aniqlab o'tadi, va shuning uchun myVariable
integer (butun son) turini o'ziga avtomatik tarzda oladi va butun dastur davomida shunday qoladi.
Agar dastlabki qiymat tur haqida yetarlicha ma'lumot bermasa (yoki boshlang'ich qiymat berilmagan bo'lsa), biz uni o'zgaruvchi yoki konstanta nomidan keyini ikki nuqta :
orqali aniq qilib berib ketishimiz mumkin bo'ladi:
let implicitInteger = 70
let implicitDouble = 70.0
let explicitDouble: Double = 70
Qiymatlar avtomatik tarzda o'z turni o'zgartirmaydi. Agar sizga qaysidur qiymatning turini o'zgaritish kerak bo'lsa u holda ushbu qiymatning namunasini yaratish zarur bo'ladi. ya'ni:
let label = "The width is "
let width = 94
let widthLabel = label + String(width)
Ya'ni biz yuqoridagi misolda, ikkita matinni birlashtirmoqchimiz, lekin bittasining turi matn (string), va boshqasining turi son (integer). Biz ushbu sonni String()
bilan o'raganimizda sonni matn turiga o'zgartirgan hisoblanamiz.
Qiymatlarni matnda qatnashtirishning bundan ham oson yo'li mavjud: Buning uchun o'zgaruvchi yoki konstanta nomini kavslar (o'zgaruvchi_yoki_konstanta_nomi)
ichida yozasiz, va kavsdan oldin backslash \
-ni yozasiz: Misol uchun:
let olmalar = 3
let shaftoli = 5
let jamiOlmalar = "Menda \(olmalar) bor."
let jamiMevalar = "Menda \(olmalar + oranges)ta meva bor."
Agar siz ko'p qatorli matn yozmoqchi bo'lsangiz, """
3-ta qo'shtirnoqdan foydalanishingiz munmkin bo'ladi. Har bir qatordagi qator boshida qoldirlgan bo'sh joylar agar yopuvchi qo'shtirnoqlar bilan bir ustinda bo'lsa, hisoblanmaydi. Misol uchun:
let quotation = """
Even though there's whitespace to the left,
the actual lines aren't indented.
Except for this line.
Double quotes (") can appear without being escaped.
I still have \(apples + oranges) pieces of fruit.
"""
[]
-dan foydalangan xolda, array yoki lug'at yaratishimiz mumkin, va ularning elementlarini index-dan yoki kalit so'zidan foydalanib olishimiz mumkin. Vergulni ,
eng oxirgi elementdan yozish ham xatolik emas.
var mevalar = ["olcha", "limon", "olma"]
mevalar[1] = "shaftoli"
var lavozimlar = [
"Rustam": "Kapitan",
"Sardor": "Mexanik"
]
lavozimlar["Umida"] = "Dasturchi"
Arrayga element qo'shishingiz bilan u avtomatik tarda o'sib boradi.
mevalar.append("gilos")
print(fruits)
// Ekranga: "["olcha", "limon", "olma" , "gilos"]" chiqaradi
Agar bo'sh array yoki lug'at yaratmoqchi bo'lsangiz, []
yoki [:]
lardan mos ravishda foydalanishingiz mumkin bo'ladi.
mevalar = []
lavozimlar = [:]
Agar siz bo'sh array yoki lug'atni yangi o'zgaruvchiga yoki biron bir turdagi ma'lumot bo'lmagan boshqa joyga tayinlayotgan bo'lsangiz, turini ko'rsatishingiz kerak.
let emptyArray: [String] = []
let emptyDictionary: [String: Float] = [:]
Dastur bajarilish tartibini boshqarish
Dasturda nimadur shartili bajarilishi uchun if
yoki switch
lardan foydalanilishi mumkin. Va qaytalanuvchi jarayonlar uchun for-in
, while
, va repeat-while
lardan foydalaniladi. Shartlarni kavslar bilan o'rash shart emas va qaytalanuvchi loop
da ham kavslar majburiy emas.
let individualBaholar = [75, 43, 103, 87, 12]
var jamoaningBahosi = 0
for baho in individualBaholar {
if baho > 50 {
jamoaningBahosi += 3 // ya'ni jamoaningBahosi = jamoaningBahosi + 3
} else {
jamoaningBahosi += 1
}
}
print(jamoaningBahosi)
// "11" ekranga chiqadi
if
-ning shartli qismi boolean ya'ni rost-yolg'on ifodasi bo'lishi kerak. Buning ma'nosi if baho {...}
bo'ls bu xato.
Siz switch
yoki if
ifodasini =
keyin ham yozishingiz mumkin:
let scoreDecoration = if jamoaningBahosi > 10 {
"🎉"
} else {
""
}
print("Baho:", jamoaningBahosi, scoreDecoration)
// Ekranga: "Baho: 11 🎉" chiqaradi