May 11, 2021

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

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

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

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

// Lesson 15 / Словари / Словарь (Dictionary)

// Видео 2:34:27​ Словари / Поиск по ключу

// Длинная форма записи Dictionary<Key, Value>

// Краткая лучше использовать её [Key: Value]

var dictionary = [Int: String]()

// Создаем словарь рост / он содержит рост / var рост: [String : Double]

var рост = ["Ian": 1.75, "Maria": 1.76, "Igor": 1.82, "Olga": 1.56]
рост["Ian"]

// Словарь и Множество отдают нам данные моментально.

var results = ["Mathematics": 100, "English": 85, "Geography": 75]
results.count
results.isEmpty
results["History"] = 80
results

// Как видим в словаре появилось History : 80

// обновим значения по Математике

results["Mathematics"] = 50
results

// Так же можем обновить результат .updateValue

results.updateValue(70, forKey: "History")
results
for (subject, point) in results {
print("\(subject): \(point)")
}

// Где есть tuple в виде ( subject — предмет : point — количество балов )

// Более наглядно.

// Но лучше все писать на английском. Так всегда будет ясна логика.

// получить коллекцию

for subject in results.keys {
print("Scients: \(subject)")
}

// Создадим массив из .keys и .values

var keys = Array(results.keys)
var values = Array(results.values)

// Lesson 16 / Функции /

// Видео 2:49:05 Функции

// Объявление и вызов функций

// Принимать

// Возвращать

// Возвращать два и более значений из функции

// Имена параметров

// Пропуск имен параметров

// Параметры по умолчанию

// Вариативные функции и вариативные параметры

// Сквозные параметры

  • Функции — это самостоятельный фрагмент кода которые решают разные задачи.
  • У каждой функции уникальное имя.
  • Могут принимать и возвращать.

// Читать на (Apple) или (SwiftBook)

//Самая простая функция (принимает или возвращает) у нас она путая

func greetings() {
print("Hello, Swift")
}

// Теперь вызываем нашу функцию.

greetings()

// А теперь функция которая будет умножать

func square(number: Int) {
print(number * number)
}

square(number: 6)

// Пробуйте свои варианты

// Функция возвращать /

// Возвращает

func square1(number: Int) -> Int {
return number * number
}

var result = square1(number:8)

print(result)

// Возвращает результат от { return number * number }

// Можем упростить, если у нас 1 выражение внутри функции, например:

func square1(number: Int) -> Int {
     number * number
}

// Как вернуть два или более значений функции?

// Можно использовать tuple или коллекции

// Например, вашу форму регистрации заполнили и данные из этой формы // должны вернуться. Имя и Фамилия

// Вернуть можно строку «String» или число «Int»

func getUser() -> [String] {
["Ivan", "Ivanov"]
}

let user = getUser()

print(user[0])

// Возвращаем индекс 0 «Ivan» попробуйте вернуть ещё индекс 1

//

func getUser() -> [String: String] {
["Имя: ": "Serge", "Фамилия: ": "Bodrov"]
}

let user = getUser()

print(user["Имя: "])

// Опционально

// Попробуем улучшить с помощью tuple()

func getUser1() -> (имя: String, фамилия: String) {
(имя: "Serge", фамилия: "Bodrov")
}

let user1 = getUser1()
let user2 = getUser1()

print("Имя:", user1.имя)
print("Фамилия:", user2.фамилия)

// Попробуйте добавить отчество.

// Имена параметров

func sayHello(to name:String) {
print("Hello, \(name)")
}

sayHello(to: "Ian")

// Пропуск имен параметров

// print("Hello")

// print(message: "Hello")

func greet(_ person: String) {
print("hello, \(person)!")
}

greet("Ian")

// В таком случае трудно понять что имеется в виду _