함수
: 함수는 작업의 가장 작은 단위이자 코드의 집합
함수의 정의
func 함수명(파라미터 이름: 데이터 타입) -> 반환 타입 {
return 반환 값
}
함수의 정의 및 호출
두 정수를 파라미터로 전달받아 두 정수의 합을 반환하는 함수를 정의 후에 호출
import UIKit
/*
func 함수명(파라미터 이름: 데이터 타입) -> 반환 타입 {
return 반환 값
}
*/
func sum(a: Int, b: Int) -> Int {
return a+b
}
sum(a: 100, b: 200)
반환 값이 없는 함수의 정의
반환 값이 없는 함수의 경우 반환 타입에 Void 또는 아무것도 입력을 안해주면 된다.
import UIKit
/*
func 함수명(파라미터 이름: 데이터 타입) -> 반환 타입 {
return 반환 값
}
*/
func printName() -> Void {
}
func printName2() {
}
매개변수에 기본 값이 있는 함수
매개변수에 기본 값이 있는 경우 함수 호출 시 파라미터에 값을 전달해주지 않아도 기본 값이
매개변수에 담기게 된다.
import UIKit
/*
func 함수명(파라미터 이름: 데이터 타입) -> 반환 타입 {
return 반환 값
}
*/
func greeting(friend: String, me: String = "Swift") {
print("Hi, \(friend)! I'm \(me)")
}
greeting(friend: "Python")
함수의 파라미터로 전달인자 레이블 사용
파라미터로 전달인자 레이블을 사용하면 좀 더 파라미터의 역할을 명확하게 알 수 있으며
코드의 가독성도 올라간다.
import UIKit
/*
func 함수명(전달인자 레이블: 매개변수 이름: 매개변수 타입, 전달인자 레이블: 매개변수 이름: 매개변수 타입) -> 반환 타입 {
return 반환 값
}
*/
func sendMessage(from myName: String, to name: String) -> String {
return "Hi \(name) I'm \(myName)"
}
sendMessage(from: "Swift", to: "Python")
함수의 파라미터로 전달인자 레이블을 사용하지 않을 때
함수 호출 시 전달인자로 값만 넘겨주고 싶을 때 사용하는데
함수 정의 시 파라미터명 앞에 _를 넣어주면된다.
import UIKit
/*
func 함수명(_ 매개변수 이름: 매개변수 타입, _ 매개변수 이름: 매개변수 타입) -> 반환 타입 {
return 반환 값
}
*/
func sendMessage(_ myName: String, _ name: String) -> String {
return "Hi \(name) I'm \(myName)"
}
sendMessage("Swift", "Python")
가변 매개변수를 사용한 함수
함수 호출 시 몇 개의 인자를 전달받을 지 모를 때 쓰게되는데
해당 매개변수를 배열로 사용할 수 있다.
import UIKit
/*
func 함수명(매개변수 이름: 매개변수 타입, 매개변수 이름: 매개변수 타입...) -> 반환타입 {
return 반환 값
}
*/
func sendMessage(me: String, friends: String...) -> String {
return "Hi \(friends) I'm \(me)"
}
sendMessage(me: "Swift", friends: "Python", "Java", "C++")
'iOS > Swift' 카테고리의 다른 글
Swift stride(from:to:by:) (1) | 2023.09.23 |
---|---|
Swift replacingOccurrences(of:with:) (0) | 2023.09.17 |
프로퍼티 (0) | 2023.08.05 |
옵셔널 (0) | 2023.06.17 |
컬렉션 타입 (5) | 2023.06.09 |