Swift Notes
33 subscribers
22 photos
3 videos
1 file
23 links
Обучающие материалы и полезные заметки по языку программирования Swift. Изначально задумывался, как моя личная записная книжка в процессе обучения. Связаться со мной @clockber
Download Telegram
👨🏼‍💻 Приветствую!

🗄Навигация по каналу Swift Notes

Для поиска материала вам следует указать поисковое слово через хештег

🔹 Swift начальный уровень
#variables
#switch
#conditionals
#loops
#array
#set
#dictionaries
#functions
#structures
#classes
#operators
#forin

🔹 Swift средний уровень
#enumerations
#optionals
#closures
#properties
#protocols
#generics
#ViewController

Грокаем алгоритмы\\ Адитья Бхаргава.
#бинарный поиск

P.S.
онлайн компилятор online.swiftplayground.run/

Рад любой обратной связи, поэтому пишите ваши пожелания, замечания ➡️ @clockber
Функции высшего порядка (Higher-Order functions) #functions

🔹 определяются как функции, принимающие другую функцию как аргумент или возвращающие функцию.

🔹 их много: map , filter , reduce , forEach , flatMap , compactMap ,sorted и т.д. Наиболее распространенными примерами функций высшего порядка являются функции map , filter и reduce.
Функции высшего порядка (Higher-Order functions) #functions
map, reduce, sorted, filter

🔹 Map: для преобразования содержимого массивов, map(_:)

//пример
let numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

func timesTen(_ x:Int) -> Int {
return x * 10
}

let result = numbers.map (timesTen)

print(numbers) //[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print(result) //[10, 20, 30, 40, 50, 60, 70, 80, 90, 100]

🔹 Reduce: перебирает каждый элемент в коллекции и сводит их к одному значению, reduce (_:, _:)

//пример

let values = [3, 4, 5]
let sum = values.reduce(0, +)
print(sum)

//вывод: 12

🔹Sorted: сортировка массивов, основана на заданном вами замыкании, sorted(by:)

//пример (сортировка по алфавиту)

let avatarMovie = Movie(name: "Avatar")
let titanicMovie = Movie(name: "Titanic")
let piranhaMovie = Movie(name: "Piranha II: The Spawning")

let movies = [avatarMovie, titanicMovie, piranhaMovie]
let sortedMovies = movies.sorted(by: { $0 < $1 })

print(sortedMovies)

// вывод: [Avatar, Piranha II: The Spawning, Titanic]

🔹Filter: преобразует массив в соответствии с заданным условием, filter (_:)

//пример

let numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
let filted = numbers.filter{$0 % 2 == 0}
//[2, 4, 6, 8, 10]