func functionName (parameters) -> ReturnType {
// body of the function
}
값 이름: 타입
형식으로 파라미터를 정의한다.func multiply(num1: Int, num2: Int) {
print(num1 * num2)
}
multiply(num1: 10, num2: 5) // 50
// Argument Label 사용 전
func sayHello(person: String, anotherPerson: String) {
print("Hello \(person) and \(anotherPerson)")
}
sayHello(person: "Miles", anotherPerson: "Riley")
// Argument Label 사용
func sayHello(to person: String, and anotherPerson: String) {
print("Hello \(person) and \(anotherPerson)")
}
// 함수 호출 시 파라미터 이름을 알아보기 쉽고 더 간결하다.
sayHello(to: "Miles", and: "Riley")
_
를 사용한다.func add(_ num1: Int, to num2: Int) -> Int {
return num1 + num2
}
let total = add(14, to: 6)
func display(teamName: String, score: Int = 0) {
print("\(teamName): \(score)")
}
display(teamName: "Wombats", score: 100) // "Wombats: 100"
display(teamName: "Wombats") // "Wombats: 0" (자동으로 score를 기본값인 0으로 설정)
_
으로 세팅하지 않도록 하거나, 기본값이 설정된 파라미터들을 뒤로 몰아놓아 컴파일 에러를 방지한다.func displayTeam(_ teamName: String, _ teamCaptain: String = "TBA", _ hometown: String, score: Int = 0) {
// ...
}
// 의도했던 것: teamName - Dodgers, teamCaptain - TBA, hometown - LA, score - 0
// 컴파일러: teamName - Dodgers, teamCaptain - LA, hometown - ??
displayTeam("Dodgers", "LA") // ERROR: Missing argument for parameter #3 in call
// 기본값이 설정된 파라미터들을 뒤로 몰아놓아 컴파일 에러가 생기지 않는다.
func displayTeam(_ teamName: String, _ hometown: String, teamCaptain: String = "TBA", score: Int = 0)
// teamName - Dodgers, teamCaptain - TBA, hometown - LA, score - 0
displayTeam("Dodgers", "LA")
->
를 통해 함수의 반환값의 타입을 정의해준다.func multiply(num1: Int, num2: Int) -> Int {
return num1 * num2
}
return
을 생략할 수 있다.func multiply(num1: Int, num2: Int) -> Int {
num1 * num2
}
Excerpt From
Develop in Swift Fundamentals
Apple Education
https://books.apple.com/kr/book/develop-in-swift-fundamentals/id1581182804?l=en
This material may be protected by copyright.