반응형
Swift func의 parameter
Swift func는 external parameter name과 internal parameter name이라는 신기한 기능이 있다. 이것은 외부에서 받을 파라미터 이름과 내부에서 사용할 파라미터의 이름을 구분하기 위해 만들어진 것인데 다음과 같은 구조로 되어 있다. 이루어진다.
func [func name]([external] [internal]: Int) -> Int {
}
예를 들어 더하기를 위한 func을 만든다고 해보자. 이때 외부에서 받을 파라미터 이름을 n1과 n2로 하고 내부에서 사용할 이름을 number1과 number2로 한다면 func이 다음과 같이 만들어질 수 있다.
func add(n1 number1: Int,n2 number2: Int) -> Int {
return number1 + number2
}
위의 func add는 다음과 같이 사용될 수 있다.
add(n1: 1, n2: 2)
내부(internal) 외부(external) 파라미터 명 일치시키기
내부와 외부 파라미터 명을 일치시키기 위해서는 파라미터 이름 하나만 쓰면 된다. 예를 들어 위의 func add는 내외부의 파라미터명을 일치시키기 위해 다음과 같이 바뀔 수 있다.
func add(number1: Int,number2: Int) -> Int {
return number1 + number2
}
위 func는 다음과 같이 사용된다.
add(number1: 1, number2: 2)
외부 파라미터 명 제거하기
하지만 매번 외부 파라미터명을 붙이는 것은 비효율적이다. func를 사용하기 위해 파라미터명을 매번 명시하는 것이 오히려 가독성이 떨어지는 경우도 많다. 이러한 경우를 위해 Swift에서는 외부 파라미터명을 제거하는 방법을 제공한다. 바로 다음과 같이 외부 파라미터명에 '_'을 사용하는 것이다.
func [func name](_ [internal]: Int) -> Int {
}
예를 들어 위의 더하기 func는 다음과 같이 바뀔 수 있다.
func add(_ number1: Int,_ number2: Int) -> Int {
return number1 + number2
}
외부 파라미터 명이 제거되면 다음과 같이 외부 파라미터명을 사용하지 않고 함수를 사용할 수 있게 된다.
add(1,2)
반응형
'IOS > Swift' 카테고리의 다른 글
[Swift] extension 키워드 이용해 타입 기능 확장하기 (0) | 2021.12.26 |
---|---|
[Swift] Background Thread에서 Task 실행하기 (1) | 2021.12.26 |
[Swift] JSONDecoder 사용하여 JSON 데이터 파싱하기 (0) | 2021.12.25 |
[Swift] 함수형 프로그래밍 알아보기 : 클로저(Closures), 일급객체 (0) | 2021.12.25 |
[Swift] protocol이란 무엇인가? (0) | 2021.12.22 |