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