대학교/iOS프로그래밍기초
[iOS프로그래밍기초] 5주차
ㅈㅣㄴ
2024. 10. 8. 19:56
[iOS프로그래밍기초] 5주차
문자열 서식 지정자!
return 값이 string 이라는 점을 기억하자.
1급 객체, 1급 시민
Swift 의 함수는 1급 객체이다. (1급 객체 또는 1급 시민)
다음 조건을 충족하는 객체를 1급 객체라고 한다.
- 변수에 저장할 수 있다.
주의할 점은 변수에 할당한 함수를 호출할 때에는 argument label 을 안 쓴다는 점이다.
func greet(name: String) -> String {
return "안녕하세요, \(name)님!"
}
let greetingFunction = greet
print(greetingFunction("홍길동")) // 출력: 안녕하세요, 홍길동님!
- 매개변수로 전달할 수 있다.
func executeFunction(_ function: (String) -> String, with name: String) {
let result = function(name)
print(result)
}
executeFunction(greet, with: "김철수") // 출력: 안녕하세요, 김철수님!
- 리턴값으로 사용할 수 있다.
func makeIncrementer(incrementAmount: Int) -> (Int) -> Int {
func incrementer(value: Int) -> Int {
return value + incrementAmount
}
return incrementer
}
let incrementByTwo = makeIncrementer(incrementAmount: 2)
print(incrementByTwo(3)) // 출력: 5
함수 : 일급 객체 실습
함수를 변수에 저장할 수 있고, 매개변수로 전달할 수 있고, 리턴값으로 사용할 수 있다.
클로저
특정 작업과 그 작업이 일어난 곳을 모두 기억하고 있는 도구
익명함수
클로저 표현식
- 매개변수를 받거나 값을 반환하도록 만들 수도 있음
{ (<매개변수 이름> : <매개변수 타입>, ...) -> <반환 타입> in
// 클로저 표현식 코드
}
- 클로저 표현식은 독립적인 코드 블록
두 개의 정수 매개변수를 받아서 정수 결과 값을 반환하는 코드