티스토리 뷰
1. Defining Functions
- func 함수 이름(매개변수 이름: 매개변수 타입) -> 반환 타입 { 함수 내용 }
1 2 3 | func ex_func(test: String) -> Void { print(test) } |
- 매개변수와 반환값이 없는 경우
1 2 3 | func noParamFunc() { print("noParamFunction") } |
- 매개변수가 여러개인 경우
1 2 3 | func multiParamFunc(A: Int, B: Int) -> Int { return A + B } |
- 반환값이 여러개인 경우 ☞ 튜플 형태로 반환
1 2 3 | func multiReturnValue (first: Int, last: Int) -> (start: Int, end: Int) { return (first, last) } | cs |
- 매개변수 기본값 설정
1 2 3 4 5 6 | func defaultparam(param: String = "default value") -> String { return param } print(defaultparam()) // Console: default value print(defaultparam(param: "not default value")) // Console: not default value |
2. Argument Labels
- 매개변수 앞에 전달인자 레이블을 추가하여 함수 호출시 전달인자 레이블을 통해 호출
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | func Argumentfunc(Argu1: String, label Argu2: String) -> String { return "Argu1 : \(Argu1), Argu2 : \(Argu2)" } print(Argumentfunc(Argu1: "param", label: "Argument label")) // 전달인자 레이블 생략(Omitting Argument label) func OmitArgu(_ Argu1: String, label Argu2: String) -> String { return "Argu1 : \(Argu1), Argu2 : \(Argu2)" } print(OmitArgu("omit", label: "Argument label")) |
3. Variadic Parameters
- 전달 받을 매개변수 값의 개수가 유동적일 경우
- 가변 매개변수는 함수당 하나만 가질 수 있음
1 2 3 4 5 | func variadic(_ numbers: Double...) -> Int { return numbers.count } variadic(3, 8.25, 18.75) |
4. Function Type
- 함수를 변수, 상수 등에 할당가능하며 매개변수를 통해 전달할 수 있음
1 2 3 4 5 | func functiontype(type: String, name: String) -> Void { print("function type : \(type), function name : \(name)") } var varfunction: (String, String) -> Void = functiontype(type:name:) varfunction("function type", "function name") |
Reference: https://docs.swift.org/swift-book/LanguageGuide/Functions.html
'Computer Language > Swift' 카테고리의 다른 글
| 반복문(Loops) (0) | 2018.06.20 |
|---|---|
| 조건문(Conditional Statements) (0) | 2018.06.19 |
| 컬렉션 타입(Collection type) (0) | 2018.06.17 |
| 자료형(Data type) (0) | 2018.06.16 |
| 상수와 변수(Constants and Variables) (0) | 2018.06.15 |
댓글