[ 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