May 11, 2021

Swift 2021 бесплатные уроки для новичка. Часть 1

Часть 1 (1-10 уроки)

Часть 2 (11-20 уроки)

Часть 3 (15-20 уроки)

// За кавычками находятся комментарий. (Не код.)

// Шикарный видео курс для новичка от Яна Соломеина

В этом видео 2020 года рассказываются самые основы. Ниже изложен код и его результат. Вы можете копировать себе код и на его основе собирать свои конструкции. Для начала это идеальный урок.

// Lesson 1 // Constant / Константы

// Видео 4:23​ Константы и переменные

let — константа (неизменная)
var — переменная (от слова «variable» — переменная )
let greetings = "Hello, World" 
var direction = "Left" 
direction = "Right"
greetings

// direction - направление

// greetings - приветствие
// let константа может быть одна и не меняется

Как выглядит код в Xcode 12.5

// Lesson 2 // Type data / Тип данных

// Видео 13:15​ Типы данных

Int — integral (целочисленное, целое число) 1, 12, -4, 99, складываются между собой.

Float — Число с плавающей точкой (2.134) Floating-point number (2.1234567 7 цифр после запятой не точные вычисления) отличие в точности.

Double — Число с плавающей точкой (2.134) double-precision floating-point number (2.342342344 64x самые точные вычисления, выбирается по умолчанию)

var a = 42
var b = -27
var x = 5.47
var c = -300.145

//var sum (суммирование)

var sum = Double(a) + x // Складываем Int (a)+ Double(x) для точного сложения преобразовываем целочисленное Integral в Double в таком случае все что находится после точке учитывается в уравнении 42+5.47=47.47 если преобразуем var sum = a + Int(x) получим 42+5.47=47 все что после точки съело.

var hiBro = "Hello, word"
var h = "Hello, "
var r = "people!"
var sum2 = h + r
print("Hi \(r)") 

// Складываем строки методом Конкатенации \()

// Lesson 3 // Boolean (Логические) / Bool

// Булевы значения (True — Верно) (False — лож, нет, не верно.)

// — Не

// a && b — И

// a || b — или

var areYouHappy = true  

// Дана переменная areYouHappy

// Пример 1

if areYouHappy { 
print("Good") 
} else { 
print("Bad")
}

// if — если

// true — если (areYouHappy = true ) выводить это

// else — ещё

var areYouHappy2 = false 

// Дана переменная areYouHappy2

// Пример 2

if areYouHappy2 {
print("Good")
} else {
print("Bad") 
}

// false — если (areYouHappy2 = false) выводить это

// Lesson 4 // Сложение чисел Int + Double

// Int — Целочисленное 1, 5, 7, -10,

// Double — Число с плавающей точкой 3.23, 7.12467 , -0.2444

var a = 42.25                  // a — является Double Дабл (по умолчанию)
var b = 10                     // b — является Int Интеграл
var sum2 = Int(a) + b          // Число (a) 42.25 превращаем в Int

// Неверный способ. Ответ будет 42.25+10 = 52 все что после точки пропадает.

var sum3 = a + Double(b)       // Необходимо Int(b) 10 превратить в Double

// Верный способ. Ответ будет 42.25+10 = 52.25

// Lesson 5 // Basic Operators

// Видео 31:17​ Базовые операторы

операторы

// Унарные

Префиксные: (перед выражением) -а !b +c

Постфиксные: (после выражения) x+ u-

// Бинарные

// Инфиксные: (ин внутри in) 1 + 2

// 1, 2 — это операнды — данные которые обрабатываются с помощью +-:*%

// Тернарные

a ? b : c ( если а (true = ?) то что верно b или с )

// Оператор присваивания

= ( let a = 5 присваиваем константе а цифру 5 ) var a = 5

// Арифметические операторы

+, -, *, /, %
let x = 12
let y = 5

x + y
x - y
x * y
x / y

let h = "Hello, "                  //Строки можем складывать
let g = "Swift."

h + g

// Ответ: Hello, Swift.

x % y

// 12/ делим (5 * 2) + 2

// Lesson 6 // Составные операторы присвоения

var c = 1

c += 2 // += составной оператор с + 2 = 3 ( с=1 то есть c+=2 получается 3 )

c = c + 2 // c=3 строкой выше с+2 где с (3) + 2 =5

var count = 6 // count - перевод "считать"

count += 1 // ответ 7 / 6 считать + 1 (считать count (6) += 1) ответ 7

// Lesson 7 // Операторы сравнения

// == равно / != не равно / > больше / < меньше /

// >= больше или равно / <= меньше или равно

let t = 15
let p = 10

t == p // false лож или неверно (не равно) 15=10 (false ==)

t != p // true правда или да (верно, не равно) 15 не равно 10 (true !=)

t > p

t < p

t >= p

t <= p

let name = "world"                      // let Константа «world»
if name == "world" {                    // if если = world (True)
print("Hello, world!")                  // то печатаем Hello, world!
} else {                                // else ещё (другое что-то)
print("Something went wrong")           // то печатаем Something went wrong
}

// Ответ: Hello, world!

// Lesson 8 // Тернарный (?) / Условный оператор

// Выражение ? / действие 1 : действие 2

if выражение {

действие 1

} else {

действие 2

}

let firstCard = 11                 // Первая карта = 11
let secondCard = 10                // Вторая карта = 10
if firstCard == secondCard {       // if если первая карта = второй карте
print("Cards are the same")        // печатаем («Карты одинаковы»)
} else {                    // else еще (другое) в том случае если не равно
print("Cards are different")       // печатаем («Карты разные»)
}

// Этаже запись с помощью тернарного оператора (?) он же ==

firstCard == secondCard ? print("Cards are the same") : print("Cards are different")

// Если не равно

firstCard != secondCard ? print("Cards are the same") : print("Cards are different")

// Ответ видим в коде.

var gender = 1
gender == 0 ? print("male") : print("famaly")

var fruits = 2
fruits == 0 ? print("apple") : print("mango")

gender; index
fruits; index

// Попробуйте не равно fruits != 0 ? print("apple") : print("mango")

Что будет: fruits != 0 ? print("apple") : print("mango")

// Lesson 9 // Оператор замкнутого/закрытого диапазона (a...b),

// Оператор полузамкнутого/полузакрытого диапазона (a..<b) не включая Б b

// Видео

// Логические операторы / ! — не, !a — (не a) / && — и / || — или

let areYouHappy = true          // константа выСчаствиы = да
if !areYouHappy {               // if — если !выСчаствивы / где ! — не
print("Good, for you")          // false печатаем(«Повезло, тебе»)
} else {                        // else — ещё
print("What can a do for you?") // true печатаем(«Чем можем помочь?»)
}
let areYouHappy = true

// Другой пример && / и

let areYouHappy = true
let isTheWeatherGood = true

if areYouHappy && isTheWeatherGood {
print("Go outside") 
} else {
print("Stay home") 
}

// true / areYouHappy = true и isTheWeatherGood = true

// true / не выполняется поскольку первое исполнено

// Другой пример || / или

let isTheWeatherGood2 = true

if areYouHappy || isTheWeatherGood2 {
print("Go outside")
} else {
print("Stay home") 
}

// true / areYouHappy good = true

// true / не выполняется поскольку первое исполнен

// Lesson 10 // Условия

// Видео 59:40​ Условия

// Пример 1

let firstCard = 11
let secondCard = 10
if firstCard + secondCard == 21 {
print("You are win")
} else if (firstCard + secondCard) > 18 && (firstCard + secondCard) < 21 {
print("Good cards")
} else {
print("Regular cards")
}

// Условие при котором печатается «You are win»

// if firstCard + secondCard == 21 (первое условие)

// Второе условие не выполняется поскольку уже выполнилось первое.

Условие 1

// Пример 2

// Изменим наши константы:

let firstCard = 11
let secondCard = 8
if firstCard + secondCard == 21 {
print("You are win")
} else if (firstCard + secondCard) > 18 && (firstCard + secondCard) < 21 {
print("Good cards")
} else {
print("Regular cards")
}

// Условие при котором печатается «Good cards»

// ( 11+8=19 ) 19>18 ( 11+8=19 ) 19<21

//(firstCard + secondCard) > 18 && (firstCard + secondCard) < 21

Условие 2

// Пример 3

let age1 = 12
let age2 = 21
if age1 > 12 && age2 > 18 {    // Распечатается если все условие будет True
print("Both are over 18")
}
if age1 > 12 || age2 > 18 {    // Распечатается если одно условие True
print("Both are over 18")
}
Пример 3

// Switch — переключатель.

switch (переключатель) значение для сопоставления {

case значение 1:

инструкция для значения 1

case значение 2:

инструкция для значения 2

case значение 3:

инструкция для значения 3

default:

инструкция, если значения с шаблонами не найдены (не совпадают)

}

// Пример 1

let weather = "sunny"
switch weather {
case "rain": print("Ring an umbrella")
case "sniw": print("Wrap up warm")
case "sunny": print("Wear glasses")
case "clouds": print("Maybe rain")
default: print("Enjoy your day") //Если ничего не подходит выводим это.
}
Case

// Вводим значение: fallthrough (Терпеть неудачу)

// В таком случаем выводится строка ниже.

Case 2

// Вводим константу age = 12

let age = 12
switch age {
case 0...10: print("You are too young")
case 13..<20: print("Yoy are teenager")
case 20...60: print("You are grown man")
default: print("How old are you")
}

// Как думаете что выведется при компиляции?

// Распечаталось How old are you (сколько тебе лет)

// Потому что не указан диапазон от 10...13

// Выводится default

Case 3
let age = 80 // или больше 80...
case 80...: print("You are old man")
Case 4

// Lesson 12 / Циклы / Cycles

// for in / while / repeat-while / (Смотреть)

// Видео 1:15:19​ Циклы

// Пример 1 / for in /

let count = 1...10           // count (считать) Включая число 1 и число 10
for number in count {
print("Number is \(number)") // Метод конкатенации
}

// Распечаталось 10 цифр.

// Итерация — повторение одного и того же действия.

Cycles 1 / for in

// number можем заменить на любое имя (allName) (i) (numeral) и.т.д.

// Это — внутренняя константа, используется только внутри тела цикла.

Cycles 2 / for in

// Пример 2 / for in /

for _ in 1...5 {
print("Hello")
}

// Распечатать Hello 5 раз (Итерация)

Cycles 3 / for in

// Пример 3 / for in /

for index in 0...9 {
print("\(index) умножить на 3 равно \(index * 3)")
}

// Итерация с использованием ( * ) умножения

Cycles 4 / for in

// Пример 4 / while /

// Если условие истинно True то выполняется пока не станет False

while условие {
инструкция
}

// Запишем

var number = 1 
while number <= 20 {
print(number)
number += 1
}
print("Start")

// Выполнять до тех пор пока меньше < или = 20 (True)

// и печатать (это значение)

// каждую итерацию прибавлять +1

// как только станет больше > или =20 (False) напечатать «Start»

Cycles 5 / while

// Пример 5 / repeat-while / в других языках«do while»

repeat {
инструкция
} while условие

// Запишем

var number = 10
repeat {
print(number)
number += 1
} while number <= 20
print("Start")
Cycles 6 / repeat

// Пример 6 / repeat-while /

var number = 10
repeat {
print(number)
number += 1
} while number <= 5
print("Finish")

// В данном случае число 10 уже прошло проверку.

// repeat (повторять) = 10 (True)

// и печатать (это значение)

// каждую итерацию прибавлять +1

// как только станет равно = 10 (False) напечатать «Finish»

Cycles 7 / repeat

// Пример 7 / repeat-while / Отсчитать до старта /

var start = 10
while start >= 0 {
print(start)
start -= 1
}
print("Go, go!")

// Задача отсчитать время до старта в обратном порядке.

// while (пока) start больше или равен >= 0

// печатать (значения start)

// При каждой итерации отнимая (start 10) -1 (start -= 1)

// Все числа 10,9,8......3,2,1,0 (True)

// Как только значение станет (False) напечатать «Go, go!»

Cycles 8 / repeat

// Продолжение / Часть 2 / ( ПЕРЕЙТИ)