[Swift Deep Dive] Closures

Woozoo·2022년 12월 17일
0
post-custom-banner

클로져!

func calculator (n1:Int, n2: Int, operation: (Int, Int) -> Int) -> Int {
	return operation(n1, n2)
}

func add (no1: Int, no2: Int) -> Int {
	return no1 + no2
}

func multiply (no1: Int, no2: Int) -> Int {
	return no1 * no2
}

calculator(n1: 2, n2: 3, operation: add)
calculator(n1: 2, n2: 3, operation: multiply)

클로져를 사용해서 간단하게 정리 가능

calculator(n1: 2, n2: 3, operation: { (no1: Int, no2: Int) -> Int in
	return no1 * no2
})
calculator(n1: 2, n2: 3, operation: {(no1, no2) in no1 * no2})
calculator(n1: 2, n2: 3, operation: {$0 * $1})
let result = calculator(n1: 2, n2: 3) {$0 * $1}

위에서부터 점차 아래까지 줄이기가 가능해진다!!

let array = [6, 2, 3, 9, 4, 1]
func addOne (n1: Int) -> Int {
	return n1+ 1
}

array.map(addOne)
//[7,3,4,10,5,2]

array.map{$0 + 1}
//[7,3,4,10,5,2]
let newArray = array.map{"\($0)"}
print(newArray)
// 스트링으로 바뀐 어레이 나온다
profile
우주형
post-custom-banner

0개의 댓글