함수는 재사용이 가능한 코드의 집합으로, 특정 작업을 수행하는 코드 블록입니다.
함수는 function이라고 불리며, 코드를 구조적이고 효율적으로 작성하는데 도웁을 줍니다.
동일한 작업을 반복해서 작성할 필요 없게 도와줍니다.
함수는 선언과 사용으로 나눌 수 있습니다.
func
키워드를 사용하여 시작합니다.()
를 사용하여 함수를 실행합니다.()
안에는 파라미터를 넣을 수있습니다.
// 함수의 기본 사용방법
func 함수이름(파라미터 이름: 파라미터 타입) -> 반환타입 {
//구현부
return 반환 타입의 값
}
// 파라미터가 여러개인 경우
func 함수이름(파라미터1 이름: 파라미터1 타입, 파라미터2 이름: 파라미터2 타입) -> 반환타입 {
//구현부
return 반환 타입의 값
}
// 파라미터가 없는 경우
func 함수이름() -> 반환 타입{
//구현부
return 반환 타입의 값
}
// 반환값이 없는 경우
func 함수이름(파라미터 이름: 파라미터 타입) {
// 구현부
//반환타입이 없기때문에 return이 없어도 됩니다.
//반환타입이 없는데 중간에 함수를 탈출하고 싶을 때 return을 사용할 . 수있습니다.
}
// 파라미터도 없고, 반환값도 없는 경우
func 함수이름() {
//구현부
}
// 실제로 사용해 봅시다!
func sayHello(name: String) -> String {
return "\(name)님 안녕하세요!"
}
// 함수의 사용
sayHello(name: "Swift 기초반") // 결과값은 문자열로 "Swift 기초반님 안녕하세요!" 입니다.
// 함수의 선언
func printHello(){
print("안녕하세요!")
}
// 함수의 사용
printHello()
func add(a: Int, b: Int) -> Int {
return a+b
}
let result = add(a: 3, b: 5) // add 함수를 사용하여 받은 결과값을 result 상수에 할당합니다.
print(result) // 8
함수 파라미터 이름의 분리
func sayHello(name: String) {
print("\(name)님 안녕하세요.")
}
sayHello(name: "수강생")
//sayHello 함수를 정의하는 곳에서 파라미터의 이름이 name이면
//sayHello 함수를 호출하는 곳에서도 파라미터의 이름은 name을 사용합니다.
Swift에서는 구현부에서 사용하는 파라미터의 이름과 호출부에서 사용하는 파라미터의 이름을 다르게 할 수 있습니다.
// 스페이스로 띄우고 파라미터 이름을 2개 입력하면 호출, 구현부에서 사용하는 이름을 정할 수 있습니다.
func sayHello(to name: String) {
print("\(name)님 안녕하세요.")
}
// 함수를 정의한 곳에서 파라미터의 이름이 2개 있을 때 첫번째 값이 호출할 때 사용하는 이름입니다.
sayHello(to: "수강생")
// _ 를 사용하여 파라미터의 이름을 생략할 수 있습니다.
// _ 는 보통 생략하는데 사용됩니다.
// 위에와 동일하게 정의하는 곳에서 파라미터 이름이 2개로 들어가 있습니다. (_, name)
func sayBye(_ name: String) {
print("\(name)sla 안녕히가세요.")
}
sayBye("수강생")
Swift에서는 파라미터의 이름을 다 정해주어야? 줄 수? 있는 것 같다.
첫번째는 호출할 때 사용하는 이름이 되고 두번째는 구현에서 사용되는 이름이 되는 것 같다._
를 사용해서 이름을 생략할 수 있다.