함수 정의와 호출
정의
- 함수는 작업의 가장 작은 단위이자 코드의 집합
( 반복되는 작업을 피하고자 사용 )
호출
func 함수명(파라미터 명: 데이터 타입) -> 반환 타입{
return 반환 값
}
샘플 예제
두 수를 더하는 함수 생성
func sum(a:Int, b:Int) -> Int{
return a+b
}
sum(a: 5, b: 1)
반환 값이 없는 경우
- void 혹은 반환 값을 적지 않아도 된다.
// 1. Void 로 반환 값을 표기
func test(c: String = "Hello", d:String = "IOS") -> Void{
print("\(c)! \(d)")
}
// 2. 표기 x
func test(c: String = "Hello", d:String = "IOS"){
print("\(c)! \(d)")
}
test()
결과는 Hello! IOS 로 동일하다.
전달인자 레이블
- 전달인자 레이블 형식
func 함수명(전달인자 레이블 매개변수 이름: 매개변수 타입, 전달인자 레이블 매개변수 이름: 매개변수 타입...) -> 반환 타입{
return 반환 값
}
- 와일드카드 식별자 사용
매개변수 앞에 _ 를 쓰면, 전달인자 사용하지 않는 함수 사용한다는 뜻이다.
매개변수이름을 넣지 않고 값만 넣어서 전달 할 수 있음.
func sendMessage(_ name: String) -> String{
return "Hello \(name)! "
}
sendMessage("park")
- 가변 매개변수
0 ~ 다수 특정 타입 인수를 받을 수 있는 매개변수이다.
사용 방법은 매개변수 타입 뒤에 ...을 쓰면 된다 .
func sendMessage(me:String, friends: String...) -> String{
return "Hello \(friends)! I'm \(me)"
}
sendMessage(me: "park", friends: "kim","seo","cho")
- 결과
