일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- data structure
- 개발
- 자바스크립트 자료구조
- 호키스
- javascript
- SWIFT
- 자료구조
- 개발자
- 비동기
- TDD
- hokeys
- 리액트
- react
- 자바스크립트
- 자스민
- 힛잇
- 리액트 예제
- 이종호
- 계명대
- hokidoki
- queue
- 호키도키
- 스벨트
- Hitit
- 계명대 이종호
- HTML
- Svelte
- IOS
- jest
- 스위프트
- Today
- Total
Dog foot print
[SWIFT] 함수 시작하기 본문
함수란 ?
독립적으로 실행 가능한 코드이다.
함수 정의 템플릿
func 함수이름 (매개변수명1 : 타입, 매개변수명2 : 타입) -> 반환 타입 {
실행내용
return 반환값
}
예시 코드
func sum(x : Int, y : Int) -> Int{
print("매개변수1 \(x) , 매개변수2 \(y)");
return x + y;
}
Note : 매개변수가 존재하지 않는다면 작성하지 않아도 된다.
Note : return 하는 값이 존재하지 않다면, void 타입을 명시해주지 않아도 된다.
함수 식별자
func sum(x : Int, y : Int) -> Int{
print("매개변수1 \(x) , 매개변수2 \(y)");
print("매개변수명 x,y")
return x + y;
}
func sum(a : Int, b : Int) -> Int{
print("매개변수1 \(a) , 매개변수2 \(b)");
print("매개변수명 a,b")
return a + b;
}
func sum(){
print("hello world")
}
//서로 다른 sum
sum(x : 10,y : 20); //매개변수명 x,y
sum(a : 10,b: 20); //매개변수명 a,b
sum();
함수를 식별할때는 함수의 이름과 매개변수 명이 동시에 사용된다. 그렇기에, 매개변수명이 다른 두개의 같은 이름 함수는 매개 변수의 이름으로 구분 지어 식별 한다. 이를 레이블이라고 표현 한다.
함수 호출
... 함수 식별자 코드에 이어서
sum(x :10 y :20)
sum(x : y :)(10,20)
Note : lable을 표시해주어야 식별 가능하다.
외부 매개변수명, 내부 매개변수명
func welcomMessage(to who : String,message wecomeMessage : String){
print("\(who)에게 \(welcomeMessage)를 보냅니다.")
}
welcomeMessage(to : "lee", message : )
func hello(_ who : String,_ wecomeMessage : String){
print("\(who)에게 \(welcomeMessage)를 보냅니다.")
}
hello("lee","hello")
위의 welcomMessage 함수에서 to
와 message
는 외부 매개변수명이다. 이는 외부에서 매개변수명이 상당히 긴 경우, 함수 호출 시 가독성을 해치기 때문에 사용된다. 만약 외부 매개변수명이 존재하지 않을 때는, 내부 매개변수명이 함수 호출 시 식별자로 사용된다.
TIP : 외부 매개 변수명은 함수 내부에서는 사용 할 수 없다.
TIP : 만약 외부 매개변수명에 _
를 설정하게 되면 외부 매개변수 레이블 없이 함수를 호출 할 수 있게 된다.
가변인자
func sum(rest : Int...){
var result = 0
for numb in rest {
result += numb
}
return result;
}
sum(rest : 1,2,3,4,5,6);
sum
과 같은 함수는 기본적으로 최소 2개 이상의 매개 변수를 가지게 된다. 그러나, 매개변수가 몇개가 들어올지 몰라 무한정 파라메터를 증식 시켜, 함수를 여러개 만드는 것은 비 효율적이다. 이럴 때 주로 사용하는 것이 가변인자이다. 이 가변인자는 한개의 레이블에 ,
로 구분지어 여러 값을 할당 할 수 있다.
Note : 1번에 두개 이상의 가변인자를 사용 할 수 없다.
func sum(names : String... ,rest : Int...){}
Note : 가변인자는 파라메터 위치 상 마지막에 있어야 한다.
기본 값을 갖는 매개 변수
func sum(x : Int, y : Int = 0){
return x + y
}
sum(x : 1) // 1
만약 옵션과 같은 것들이 존재할 때 기본 설정을 사용하기 위해 옵션을 넣지 않는 함수들이 존재한다. 이런 경우 매개변수에 기본 값을 명시해주어 해당 매개변수에 값이 존재하지 않을 때는 해당 값을 사용 할 수 있다.
#swift
'IOS > Swift' 카테고리의 다른 글
[SWIFT] CLOSURE (0) | 2021.07.09 |
---|---|
[Swift] Inout (0) | 2021.07.08 |
[SWIFT] Optional (0) | 2021.07.05 |
[SWIFT] Dictionary (0) | 2021.07.05 |
[SWIFT] Set 집합 (0) | 2021.07.01 |