Swift 2021 бесплатные уроки для новичка. Часть 3
Часть 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")
// В таком случае трудно понять что имеется в виду _