[ swift ] Function
2023. 2. 14. 23:23ㆍ👩🏻💻 ios 앱개발 ( swift )
728x90
✍🏻 Function : 어떤 기능을 수행하는 코드 블럭 (Method와 비슷)
✍🏻 Method와의 차이점은??
- Method : object 안에 속해서 기능을 수행 ex) object.methodName()
- Function : 독립적으로도 호출 가능. ex) functionName()
object에는 속하지 않음.
// 함수의 리턴값 ( -> )
✍🏻 예제
✍🏻 함수의 기본 형태
//externalName : 외부에 보여지는 param 이름. 한글 가능
func functionName(externelName param: ParamType) -> ReturnType {
return returnValue
}
✍🏻 Overload
✍🏻 In - out parameter
- 파라미터로 들어온 변수를 변경하고 싶다면? -> copy in, copy out을 이용하면 된다. inout 키워드 사용
- 파라미터는 외부에서 복사되어 들어온다. 들어온 값은 상수(constant)!
- inout 키워드를 통해 copy in & copy out을 해줘야함!
✍🏻 함수를 변수로 사용
// Function as a variable
func add(_ a: Int, _ b: Int) -> Int {
return a + b
}
func subtract(_ a: Int, _ b: Int) -> Int {
return a - b
}
var function = add
function(4,2) //6
function = subtract
function(4,2) //2
- 함수에서 파라미터로 다른 함수를 받을수도 있다.
func printResult(_ function: (Int, Int) -> Int, _ a: Int, _ b: Int){
let result = function(a,b)
print(result)
}
printResult(add, 10, 5) //15
printResult(subtract, 10, 5) //5
🎃 실무 tip : 함수는 한가지 일을 하는게 좋다
'👩🏻💻 ios 앱개발 ( swift )' 카테고리의 다른 글
[swift] Collection (1) | 2023.02.17 |
---|---|
[swift] optional (0) | 2023.02.16 |
[swift] switch문 (0) | 2023.02.13 |
[ swift ] for loop, import foundation, closedRange (0) | 2023.02.13 |
[swift] flow Control_while loop, repeat (0) | 2023.02.13 |