Ми швиденько пробіжимося по синтаксу мови Swift після чого повністю поглибимось у практику.
- Коментарі
- Привіт світ
- Типи даних
- Умовні оператори
- Цикл for
- Робота з рядками
// Так позначаються у Swift однорядкові коментарі
/*
А ось так позначаються багаторядкові коментарі.
Такий же синтаксис мають мови: C, C++, D, Java,
Kotlin, JavaScript та багато інших
*/
Першою програмою на будь якій мові традиційно є "Привіт світ", де потрібно у термінал вивести звичайне повідомлення.
Досягти цієї мети нам допоможе інструкція print.
// У Swift не потрібно огортати інструкції у класи, на відміну від Java,
// тому файлик з цим єдиним рядком компілюватиметься і без проблем працюватиме:
print("Привіт світ")
Щоб виконати дану програму, скопіюйте цей рядок у пустий файл, наприклад hello.swift, збережіть його і потім запустіть у терміналі наступною командою:
$ swift hello.swift
Вітаємо! Ви реалізували першу програму.
Swift підтримує наступні типи даних:
- Int - ціле число
- UInt - ціле беззнакове число (не може бути меншим за нуль)
- Float - число з плаваючою комою, зберігає до шести знаків після коми
- Double - число з плакаючою комою подвійної точності, зберігає до дванадцяти знаків після коми
- Bool - логічний тип, містить або значення true або false
- String - може містити звичайні рядки, наприклад: "Привіт"
- Character - тип, який може містити будь-який символ, на приклад: 'R'
- Optional - контейнер, який може або містити будь-яке значення або не містити
- Tuples - даний тип використовується для групування декількох значень воєдино
Ми можемо використовувати ці типи за допомогою змінних та констант:
// Оголошуємо змінну цілого типу
var value: Int = 5
// Ми можемо змінювати значення змінних (5 -> 10)
value = 10
// Також можемо оголошувати змінні більш короткою формою.
// В такому випадку компілятор сам підбере тип, орієнтуючись
// на значення, яке ми присвоюємо.
var valueInt = 8
var valueFloat: Float = 5.6
var valueSting = "Слава Україні!"
var valueChar = 'S'
/*
Змінній одного типу не можна присвоювати значення іного типу.
valueInt = 0.5
У цьому прикладі була б наступна помилка:
error: cannot assign value of type 'Double' to type 'Int'
Для такого випадку нам допоможе приведення типів:
valueInt = Int(0.5)
В результаті змінна valueInt міститиме значення 0, так як
при округленні відкинеться дробна частина
*/
// Оголошуємо константу. Її значення не можемо змінювати у майбутньому.
// У більшості мов константи пишуться великими літерами, у Swift це не
// обов'язково, так як за допомогою такої конструкції також позначають
// змінні, які не можна міняти (final)
let SIZE = 10 // Int
let AMOUNT = 10.1 // Double
let DESCRIPTION = "Все буде кльово!" // String
Для програміста найважливіше - це логіка. По суті, будь-яка програма - це набір інструкцій, описаних певною логікою. Для цього існують умовні оператори. Наведемо простий приклад:
// Оголошуємо константу `a` та присвоюємо їй значення 5
let a = 5
if (a == 5) {
print("Умова виконується")
} else if (a > 10) {
print("Інша умова виконується")
} else {
print("Нічого не виконується!")
}
Головна задача розробника - боротися з дублюванням коду. Тому, якщо нам потрібно виконати певну дію декілька раз, на допомогу нам прийде оператор for:
// Створюємо масив, який містить файні країни
let countries = ["Україна", "Польша", "Білорусь", "Литва"]
for country in countries {
// За допомогою конструкції '\()' ми можемо вставляти у рядок
// змінні, вирази та навіть викликати цілі функції
print("Крута країна, \(country)!")
}
Виведе наступне:
Крута країна, Україна!
Крута країна, Польша!
Крута країна, Білорусь!
Крута країна, Литва!