1. 매개변수와 반환 값이 있는 함수
func 함수이름(매개변수1이름: 매개변수1타입, 매개변수2이름: 매개변수2타입 ...) -> 반환타입 {
/* 함수 구현부 */
return 반환값
}
2. 매개변수가 있고 반환 값이 없는 함수
func 함수이름(매개변수1이름: 매개변수1타입, 매개변수2이름: 매개변수2타입 ...) -> Void {
/* 함수 구현부 */
}
3. 매개변수가 없고 반환 값이 있는 함수
func 함수이름() -> 반환타입 {
/* 함수 구현부 */
return 반환값
}
4. 매개변수가 없고 반환 값이 없는 함수
func 함수이름() -> Void {
/* 함수 구현부 */
}
5. 매개변수 기본 값이 있는 함수
func 함수이름(매개변수1이름: 매개변수1타입, 매개변수2이름: 매개변수2타입 = 매개변수 기본값 ...) -> 반환타입 {
/* 함수 구현부 */
return 반환값
}
func test(you: String, me: String = "coding") {
print("Hi \(you)! I'm \(me)")
}
// 매개변수 기본값을 가지는 매개변수는 호출시 생략할 수 있습니다
test(you: "han") // hi han! I'm coding
test(you: "han", me: "kwon") // hi han! I'm kwon
- 매개변수의 기본 값을 설정할 수 있음
- 기본 값을 갖는 매개변수는 가급적 맨 뒤에 선언하는 것이 좋음
6. 전달 인자 레이블
func 함수이름(전달인자 레이블 매개변수1이름: 매개변수1타입, 전달인자 레이블 매개변수2이름: 매개변수2타입 ...) -> 반환타입 {
/* 함수 구현부 */
return
}
// 함수 내부에서 전달 인자를 사용할 때에는 매개변수 이름을 사용합니다
func test(to you: String, from me: String) {
print("Hi \(you)! I'm \(me)")
}
// 함수를 호출할 때에는 전달 인자 레이블을 사용해야 합니다
test(to: "han", from: "kwon") // hi han! I'm kwon
- 함수를 호출할 때 함수를 호출하는 입장에서 매개변수의 역할을 명확하게 해 주기 위해 사용
- 함수 내부에서는 전달인자를 사용할 때 매개변수 이름을 사용
- 함수를 호출할 때에는 전달 인자 레이블을 사용
7. 가변 매개변수
func 함수이름(매개변수1이름: 매개변수1타입, 전달인자 레이블 매개변수2이름: 매개변수2타입...) -> 반환타입 {
/* 함수 구현부 */
return
}
func test(me: String, friends: String...) -> String {
return "hi \(friends)! I'm \(me)!"
}
print(test(me: "yagom", friends: "han", "jun", "won"))
// hi ["han", "jun", "won"]! I'm kwon!
print(test(me: "kwon"))
// hi []! I'm kwon!
- 전달 받을 값의 개수를 알기 어려울 때 사용
- 매개변수 타입 뒤에 ... 을 붙임
- 가변매개 변수는 함수당 1개만 가능
8. 함수의 타입 표현
(매개변수1타입, 매개변수2타입 ...) -> 반환타입
- 반환타입을 생략할 수 없음
'Swift' 카테고리의 다른 글
[Swift] 8. 반복문 (0) | 2021.10.05 |
---|---|
[Swift] 7. 조건문 (0) | 2021.10.05 |
[Swift] 5. 컬렉션 타입 (0) | 2021.10.05 |
[Swift] 4. Any, AnyObject, nil (0) | 2021.10.04 |
[Swift] 3. 데이터 타입 (0) | 2021.10.04 |
댓글