공부한 것
부스트코스 - iOS 프로그래밍을 위한 스위프트 기초
알게된 것
1. 매개변수 기본 값
func setUserInfo(name : String, age : Int, region : String = "Deajeon") {}
- 함수를 정의할 때 매개변수에 기본적으로 전달될 값을 미리 저장할 수 있음
- 기본 값을 갖는 매개변수는 매개변수 목록 중 맨 뒤에 위치하는 것이 좋음
2. 전달인자 레이블
// 내부에서는 매개변수 이름
func greeting(to friend : String, from me : String) {
print("Hello, \(friend)!, my name is \(me)")
}
// 호출할 때는 전달인자 레이블
greeting(to : "doko", from : "kodo")
- 매개변수의 역할을 좀 더 명확하게 하거나 사용자의 입장에서 표현하고자 할 때 사용
- 함수 내에서는 매개변수 이름을 사용하고, 호출할 때는 전달인자 레이블을 사용
- 전달인자 레이블을 변경하여 동일한 이름의 함수를 중복으로 생성할 수 있음
3. 가변 매개변수
func sayHelloToFriends(me: String, friends: String...) -> String {
return "Hello \(friends)! I'm \(me)!"
}
print(sayHelloToFriends(me: kodo", friends: "doko", "dokori"))
- 가변 매개변수는 함수당 하나만 가질 수 있음
- 기본 값이 있는 매개변수처럼 매개변수 목록 중 맨 뒤에 위치하는 것이 좋음
4. 데이터 타입으로서의 함수
var someFunction: (String, String) -> Void = greeting(to:from:)
someFunction("doko", "kodo")
// 타입이 다른 함수는 할당할 수 없음
//someFunction = sayHelloToFriends(me: friends:)
func anotherFunction(function: (String, String) -> Void) {
function("kodo", "doko")
}
anotherFunction(function: greeting(friend:me:))
- 스위프트의 함수는 일급객체이므로 함수를 변수, 상수에 할당이 가능하고 매개변수를 통해 전달 가능
'💻 개발 > iOS' 카테고리의 다른 글
[iOS / Swift] 상속 VS 익스텐션 (0) | 2022.09.27 |
---|---|
[TIL] 22.08.25 (0) | 2022.08.25 |
[TIL] 22.06.03 (0) | 2022.06.03 |
[TIL] 22.05.27 (0) | 2022.05.27 |
[TIL] 22.05.26 (0) | 2022.05.26 |